我是Python世界的新手,所以请原谅我,这感觉像是一个新手类型的问题。我正在创建一个小的猜谜游戏,用户可以猜一个单词。我遇到的问题是,一旦用户猜到了正确的单词,它就会给他们正确的输出,然后它会循环回到开头的问题";如果您想退出,请在"退出"中插入q或在"播放"中插入y">
这就是我想要的,但目前它只是输出上一个游戏的答案。你知道如何循环回来,但让系统选择一个新的随机单词吗?这是我的WHILE循环:
while loop:
print ("If you want to quit, please insert q for QUIT or y for PLAY")
play = input()
if play == 'q':
loop = False
elif play == 'y':
while guess != word:
guess = input("Guess a word: ")
if guess == word:
time.sleep(.9)
print (f"Congrats, you won! the word was {word}")
假设您已经编码了一个逻辑来选择随机单词,只需调用while循环中的函数即可。
while loop:
word = select_random_word()
此外,在用户猜测每个单词后,清空其值
guess == ''
如果你将变量存储在一个数组中,你应该在循环结束时将数组增加一,或者像这样使用一个带有种子的随机数。这会使每次运行游戏时的单词顺序不同。
import numpy as np
import time
np.random.seed(int(time.time()))
np.random.randint(low = 1, high = 10, size = 10)
然后只需根据数组中的数字数量更改大小即可。不过,这种方法不会消除多次出现的同一个单词。
如果你在代码开头给出如何选择单词,以及单词存储在哪里,我可以提供更多帮助。
您只需要初始化单词并猜测游戏何时开始。
elif play == 'q':
word = (Select your word from where you have your words)
guess = None
...