我最近正在学习Python,我正在尝试做一个绞刑游戏。我遵循了教程:我们,并根据我的喜好修改了代码。然而,当试着看玩家是否输入正确的字母时,结果总是错误的。我确实注意到这是因为我没有想办法让它检查每一个字母,但我所做的每一次尝试都以错误告终。有人能帮帮我吗?
另外,如果我用错误的方式问我的问题,我是新来的堆叠溢出。
这是检查信件的部分:
lengthWordToGuess = len(randomWord)
amountWrong = 0
currentGuess = 0
currentLettersGuessed = []
currentLettersRight = 0
while(amountWrong != 6 and currentLettersRight != lengthWordToGuess):
print("\nLetters guessed so far: ")
for letter in currentLettersGuessed:
print(letter, end=" ")
letterGuessed = input("\nGuess a letter")
#guessed right
if(randomWord[currentGuess] == letterGuessed):
hangmanVisualPrint(amountWrong)
currentGuess += 1
currentLettersGuessed.append(letterGuessed)
currentLettersRight = giveWord(currentLettersGuessed)
#guessed wrong
else:
amountWrong += 1
currentLettersGuessed.append(letterGuessed)
hangmanVisualPrint(amountWrong)
currentLettersRight = giveWord(currentLettersGuessed)发布于 2022-09-13 18:21:33
不用担心我也是新来的。因此python有一个很酷的特性,您可以使用in关键字链接检查变量是否在列表中。因此,您可以重写代码以检查if(letterGussed in correctLetters),correctLetters可以是完整的单词,也可以是字符列表。您可以在此之前检查if(letterGuessed in alreadyGuessed)并抛出一个响应,这样他们就可以猜出同一封信两次。您也可以使用循环来检查列表或字符串中的每个字母。
发布于 2022-09-13 18:22:20
请从控制台向我们显示错误代码。这通常是一个很好的指标,说明我们应该看哪条线。
接下来你为什么不上传你所有的代码呢?这样也许更有意义。
然后,在任何地方使用print("")语句,并可视化代码出错的位置。我通常在IF语句之前放置print()。
最后,确保输入()和randomWordcurrentGuess中的数据类型是相同的。例如,int 5可能并不总是等于char '5‘或字符串'5’。
还有一件事,当涉及到新的程序员时,他们往往会为字符串的索引而挣扎。也许您在“示例”中检查了错误的字母,因为您可以比较“x”,但是输入()被赋予了“e”。
https://stackoverflow.com/questions/73707518
复制相似问题