我目前正在学习 Python 并根据 YouTube 上的教程开发一个简单的猜谜游戏。用户有 3 次机会猜一个词。这是教程中的代码:
secret_word = "Giraffe"
guess = " "
guess_count = 0
guess_limit = 3
out_of_guesses = False
while guess != secret_word and not (out_of_guesses):
if guess_count < guess_limit:
guess = input("Enter guess: ")
guess_count += 1
else:
out_of_guesses = True
if out_of_guesses:
print("Out of Guesses, YOU LOSE!")
else:
print("You win!")
代码运行完美,但我想让游戏说“再试一次!”如果用户在猜完之前回答错误。这是我到目前为止的代码:
secret_word = "moon"
guess = " "
guess_count = 0
guess_limit = 3
out_of_guesses = False
while guess != secret_word and not (out_of_guesses):
if guess_count < guess_limit:
guess = input("What's the word?\n ")
guess_count += 1
if guess != secret_word and guess_count < guess_limit:
print("Try again!")
else:
"You are right!"
else:
out_of_guesses = True
if out_of_guesses:
print("Out of guesses u noob")
else:
print("You are right!")
代码仍然有效。但是,我觉得代码太长并且包含不必要的元素。预先感谢您的帮助!
无需使用
out_of_gueseses
变量,您可以简单地创建它,以便在没有足够的猜测时让您的代码跳出 while 循环。
所以在这里:
while guess != secret_word:
if guess_count < guess_limit:
(...)
if guess != secret_word and guess_count < guess_limit:
print("Try again!")
else:
print("You are right!")
break
else:
break
# exit loop
(...) other code
希望这有帮助!