def hangman():
words = ("potato", "pumpkin", "winter", "left", "right", "up")
ra = (random.choice(words))
devided = (list(ra))
lifes = 4
lenght = (len(devided))
print ("The word has", lenght, "letters, try to guess it and the first letter is", devided[0])
answer = input("The word is: ")
if (answer == ra):
print ("Correct")
exit()
elif (answer != ra):
lifes -= 1
while (lifes != 0):
print ("Wrong, you have", lifes, "lifes left")
hangman()
hangman()
所以我做了一个游戏,你必须从单词变量猜单词,它非常简单,因为它告诉你生成的随机单词有多长,单词的第一个字母是什么
现在我很难建立一个系统,当你猜错这个词时,你的生命减少了1,它确实有效,一旦你猜错了,它会从生命变量中减去-1,但是当它循环时,变量lifes重置为lifes=4,应该保持3,我如何保存它,使它不会改变?所以,每当我猜错单词时,变量会一直向下移动1个数字,直到到达0,循环停止
你的代码有点乱 简单的解决方法是将}为
while (lifes != 0):
替换为the
{if
如果您坚持让它以递归方式运行,请将life作为参数传递删除
lifes = 4
行,改为将函数定义更改为:def hangman(lifes=4):
(我把它留作lifes,但英文单词是lifes) 那么你所需要改变的就是这个部分print ("Wrong, you have", lifes, "lifes left") hangman()
进入print ("Wrong, you have", lifes, "lifes left") hangman(lifes)
相关问题 更多 >
编程相关推荐