Python 为什么这个循环不起作用,我如何让代码记住前面猜到的字母?
我是个编程新手,当时正在尝试编写一个猜字程序。我不明白为什么while循环不经过三次,程序也不记得以前猜到的字母Python 为什么这个循环不起作用,我如何让代码记住前面猜到的字母?,python,python-3.x,while-loop,Python,Python 3.x,While Loop,我是个编程新手,当时正在尝试编写一个猜字程序。我不明白为什么while循环不经过三次,程序也不记得以前猜到的字母 import random words = ["hello", "bye", "petscop"] GuessWord = random.choice(words) tries = 3 while tries > 0: tries = tries - 1 inp = input("
import random
words = ["hello", "bye", "petscop"]
GuessWord = random.choice(words)
tries = 3
while tries > 0:
tries = tries - 1
inp = input("\nEnter your guess: ")
for char in GuessWord:
if char in inp:
print(char, sep="",end="")
elif char not in inp:
print("_", sep="",end="")
tries = tries - 1
你的主要问题是每轮的尝试次数减少了2次。因此,在第二轮开始时,尝试次数再次减少,因此失败。我会这样做:
随机导入
#我们为了选择而使用的库
#关于单词列表中的随机单词
name=输入(“你叫什么名字?”)
#此处要求用户首先输入名称
打印(“祝你好运!”,姓名)
words=[“彩虹”、“计算机”、“科学”、“编程”,
‘python’、‘数学’、‘玩家’、‘条件’,
“反向”、“水”、“板”]
#函数将随机选择一个
#单词列表中的单词
单词=随机。选择(单词)
打印(“猜字符”)
猜测=“”
#这里可以使用任意圈数
圈数=3
当转向>0时:
#统计用户失败的次数
失败=0
#输入的所有字符
#逐字逐句。
对于word中的字符:
#把那个角色和
#猜中的人物
如果猜中有字符:
打印(字符)
其他:
打印(“”)
#每失败一次,就有一次失败
#在失败中增加
失败+=1
如果失败==0:
#如果失败为0,则用户将赢得游戏
#“你赢了”将作为输出
打印(“你赢了”)
#这是正确的字
打印(“字是:”,字)
打破
#如果用户输入了错误的字母,则
#它将要求用户输入另一个字母表
猜测=输入(“猜测字符:”)
#每个输入字符都将存储在猜测中
猜
#用word中的字符检查输入
如果猜测不在文字中:
圈数-=1
#如果字符与单词不匹配
#然后将“错误”作为输出
打印(“错误”)
#这将打印
#为用户左转
打印(“你有”、+圈数、‘更多猜测’)
如果圈数=0:
打印(“你松了”)
希望这能帮助你和你理解你做错了什么 很抱歉,StackOverflow不是调试论坛。StackOverflow更多的是解决影响多人的一般问题,而不是一个问题的单个实例(如bug),如果这有意义的话 也许有一个更好的地方可以让你问这个问题,但我想不出一个好的地方 本着建设性的精神:以下代码出现两次,您应该删除第二个实例
tries = tries - 1
此外,每次进入循环时都会覆盖inp
,导致循环忘记以前的值。还有其他问题。但这是一个好的开始