需要程序自己重复而不是结束

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")