用python编写了一个非常简单的猜字游戏,每次猜错的时候都会得到提示,但不起作用
唯一的问题是,当你正确地猜出单词时,循环会继续进行,并且不会识别出猜测=秘密的单词。因此,没有办法真正赢得游戏,所有用户都注定要失败。我想这可能是用户如何将信息输入guesses变量的问题,因此guesses变量无法与机密字进行比较,但它似乎写得很好,所以idk。您的代码工作正常。然而,编程的原则之一是——不要重复你自己 不要像以前那样编写代码,尽量避免重复。这使您的代码易于阅读、理解和调试 您可以使用列表存储要在每个回合打印的消息用python编写了一个非常简单的猜字游戏,每次猜错的时候都会得到提示,但不起作用,python,loops,Python,Loops,唯一的问题是,当你正确地猜出单词时,循环会继续进行,并且不会识别出猜测=秘密的单词。因此,没有办法真正赢得游戏,所有用户都注定要失败。我想这可能是用户如何将信息输入guesses变量的问题,因此guesses变量无法与机密字进行比较,但它似乎写得很好,所以idk。您的代码工作正常。然而,编程的原则之一是——不要重复你自己 不要像以前那样编写代码,尽量避免重复。这使您的代码易于阅读、理解和调试 您可以使用列表存储要在每个回合打印的消息 secret_word = "Banana"
secret_word = "Banana"
guesses = ""
maximum_guesses = 5
number_of_guesses = 0
out_of_guesses = False
while guesses != secret_word and not out_of_guesses:
if number_of_guesses == 0:
guesses = input("Guess a word: ")
number_of_guesses += 1
elif number_of_guesses == 1:
print("The object is edible")
guesses = input("Guess again: ")
number_of_guesses += 1
elif number_of_guesses == 2:
print("The object is yellow: ")
guesses = input("Guess again: ")
number_of_guesses += 1
elif number_of_guesses == 3:
print("The object is a fruit: ")
guesses = input("Guess again: ")
number_of_guesses += 1
elif number_of_guesses == 4:
print("You're stupid ")
guesses = input("Guess again: ")
number_of_guesses += 1
else:
out_of_guesses == True
if out_of_guesses == True:
print("You have lost")
else:
print("you have won")
然后,您所需要做的就是使用号码来访问列表中的消息。您还可以使用for循环来跟踪循环是已中断还是已成功结束。
此外,您可能希望比较单词的小写版本,以便您的程序不会认为“banana”和“banana”是不同的单词
secret_word = "banana"
hints = ["", "The object is edible", "The object is yellow", "The object is a fruit", "You're stupid"]
maximum_guesses = len(hints)
看到了吗?可读性更强,因此很容易判断是否有错误 对我有用。你确定你猜的是“香蕉”而不是“香蕉”或其他什么吗?我本可以要求的最好的反馈,现在我意识到我的干编码,并且已经在考虑其他项目了。非常感谢。
for guess_num in range(maximum_guesses):
if guess_num == 0:
guess = input("Guess a word: ")
else: # Print the hint and guess again for turn 2 onwards
print(hints[guess_num])
guess = input("Guess again: ")
if guess.lower() == secret_word: # If correctly guessed, say so and break the loop
print("You have won")
break
else: # Loop wasn't broken, player lost
print("You have lost")