【发布时间】:2020-01-31 08:58:57
【问题描述】:
我的猜数字游戏有一个几乎可以使用的代码。当询问玩家是否想再次玩并且他们输入“是”时,它运行完全正常,直到最后 - 终端输出:
Ha ha. You took too many guesses! I win! ^__^
Would you like to play again? (yes/no) yes
I'm thinking of a number between 1 and 99!
Ha ha. You took too many guesses! I win! ^__^
Would you like to play again? (yes/no)
我想把整个程序放在一个 while 循环中,但我在游戏中有几个开放性问题应该只在他们第一次运行程序时被问到,而不是每次他们想重玩游戏时问。 (例如你叫什么名字?你想玩吗?)我不知道如何重新运行程序,但在最初的问题之后开始。使用我当前的代码,当玩家在结尾输入“是”以重玩游戏时,我不知道要写什么。
import random
import sys
guesses_taken = 0
number = random.randint(1, 99)
name = input("\nHello, what's your name? ")
print(f"\nNice to meet you, {name}.")
answer = input("Would you like to play a guessing game? (yes/no) ").lower()
while True:
if answer == "no":
print("\nToo bad, goodbye!\n")
sys.exit()
elif answer == "yes":
print(f"\nOkay, let's play!")
break
else:
print("\nSorry, I didn't get that.")
while True:
print("\nI'm thinking of a number between 1 and 99!")
while guesses_taken < 6:
guess = input("Take a guess: ")
guesses_taken += 1
if int(guess) > number:
print("\nYour guess is too high!\n")
elif int(guess) < number:
print("\nYour guess is too low!\n")
else:
print("\nArgh..you guessed my number! You win! -__-")
break
while guesses_taken >= 6:
print("\nHa ha. You took too many guesses! I win! ^__^")
break
again = input("\nWould you like to play again? (yes/no) ")
if again == "no":
break
sys.exit()
【问题讨论】:
-
我也尝试定义一个函数并在最后调用该函数,但它对我不起作用并一直说该函数未定义。
标签: python python-3.x while-loop terminal user-input