Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这个循环不起作用,我如何让代码记住前面猜到的字母?_Python_Python 3.x_While Loop - Fatal编程技术网

Python 为什么这个循环不起作用,我如何让代码记住前面猜到的字母?

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("

我是个编程新手,当时正在尝试编写一个猜字程序。我不明白为什么while循环不经过三次,程序也不记得以前猜到的字母

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
,导致循环忘记以前的值。还有其他问题。但这是一个好的开始