需要程序自己重复而不是结束
Need program to repeat itself instead of ending
我正在尝试制作一个允许进行三次尝试的猜谜游戏。到目前为止,它完全按照我的意愿工作,但不允许用户尝试三次。第一个之后,程序就结束了,您必须重新启动它才能继续播放。我不希望程序在完成 3 次尝试后结束。
我该怎么做?
当前代码:
from random import randint
guesses = 3
secret = randint(0, 999)
number = 1
PreGuess = input("Enter a number: ")
try:
guess = int(PreGuess)
except:
number = 0
if input:
if number == 1:
if 0 < guesses:
if 0 <= guess <= 999:
if guess < secret:
print("too low")
guesses -= 1
elif guess > secret:
print("too big")
guesses -= 1
elif guess == secret:
print("correct")
else:
print("Number is not in the playable range!")
else:
print("game over")
else:
print("Please enter a number.")
请注意,您只调用了一次 input() - 在开始时。你也没有任何循环让程序跳回到开头让玩家再猜一次。
你应该做的是将你想要在 while 循环中重复的部分包含起来。
...
while guesses > 0:
PreGuess = input("Enter a number: ")
...
if input:
if number == 1:
if 0 <= guess <= 999:
if guess < secret:
print("too low")
guesses -= 1
elif guess > secret:
print("too big")
guesses -= 1
elif guess == secret:
print("correct")
break
else:
print("Number is not in the playable range!")
else:
print("Please enter a number.")
然后,在 while 循环之后,您可以检查循环是因为用户赢了还是因为用户猜错了 3 次而终止。如果用户猜错了 3 次,guesses
将等于 0,如果用户猜对了数字,则 guesses
将大于 0。
if guesses == 0:
print("game over")
我正在尝试制作一个允许进行三次尝试的猜谜游戏。到目前为止,它完全按照我的意愿工作,但不允许用户尝试三次。第一个之后,程序就结束了,您必须重新启动它才能继续播放。我不希望程序在完成 3 次尝试后结束。
我该怎么做?
当前代码:
from random import randint
guesses = 3
secret = randint(0, 999)
number = 1
PreGuess = input("Enter a number: ")
try:
guess = int(PreGuess)
except:
number = 0
if input:
if number == 1:
if 0 < guesses:
if 0 <= guess <= 999:
if guess < secret:
print("too low")
guesses -= 1
elif guess > secret:
print("too big")
guesses -= 1
elif guess == secret:
print("correct")
else:
print("Number is not in the playable range!")
else:
print("game over")
else:
print("Please enter a number.")
请注意,您只调用了一次 input() - 在开始时。你也没有任何循环让程序跳回到开头让玩家再猜一次。
你应该做的是将你想要在 while 循环中重复的部分包含起来。
...
while guesses > 0:
PreGuess = input("Enter a number: ")
...
if input:
if number == 1:
if 0 <= guess <= 999:
if guess < secret:
print("too low")
guesses -= 1
elif guess > secret:
print("too big")
guesses -= 1
elif guess == secret:
print("correct")
break
else:
print("Number is not in the playable range!")
else:
print("Please enter a number.")
然后,在 while 循环之后,您可以检查循环是因为用户赢了还是因为用户猜错了 3 次而终止。如果用户猜错了 3 次,guesses
将等于 0,如果用户猜对了数字,则 guesses
将大于 0。
if guesses == 0:
print("game over")