gpt4 book ai didi

python - 如果已经给出了提示,则转到其他未使用的随机提示

转载 作者:行者123 更新时间:2023-11-28 20:13:56 24 4
gpt4 key购买 nike

我制作的这个游戏让您猜数字,它会提示您猜这个数字是多少。我为提示系统做了这个。

if str(userinp) == ('hint'):
g = randint(1,3)
if g == 1 and g1 == True:
print('The number',(hint_1),'than 50')
g1 = False
elif g == 2 and g2 == True:
print('The number',(hint_2))
g2 = False
elif g == 3 and g3 == True:
print('the number',(hint_3))
elif g == 4 and g4 == True:
print('WIP')

如果使用 g = randint(1,3) 选择了重复的提示,我将如何做到这一点,它会转到另一个未使用的提示?

谢谢 :) 。

最佳答案

您的错误在于为您的提示使用了单独的变量。将它们放在一个列表中,这样你就可以使用 random.shuffle() :

# at the start
hints = [
"The number {} than 50".format(hint_1)
"The number {}".format(hint_2)
"The number {}".format(hint_3)
]
random.shuffle(hints)

# in the game loop
if userinp == 'hint':
if not hints:
print("Sorry, you are out of hints")
else:
hint = hints.pop() # take **one** of the randomised hints
print(hint)

random.shuffle() 以随机顺序放置 hints 列表,重复的 hints.pop() 调用将选择下一个可用的提示,顺序随机。

请注意,现在也不再需要保留单独的提示标志,当 hints 列表为空时,用户就没有提示了。

附带说明:在 bool 测试中使用 == True 没有意义。 if 已经测试了 bool 值真值,添加 == True 是多余的(当您必须只测试 bool 值对象时,您可以使用 是 True 因为 TrueFalse 是单例)。

关于python - 如果已经给出了提示,则转到其他未使用的随机提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52075441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com