【问题标题】:Need program to repeat itself instead of ending需要程序重复而不是结束
【发布时间】:2021-06-22 13:24:46
【问题描述】:

我正在尝试制作一个允许三次尝试的猜谜游戏。到目前为止,它完全按照我的意愿工作,但不允许用户尝试三次。在第一个之后,程序刚刚结束,您必须重新启动它才能继续播放。我不希望程序在三个尝试完成之前结束。

我该怎么做?

当前代码:

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

【问题讨论】:

    标签: python-2.x


    【解决方案1】:

    请注意,您只调用一次 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      相关资源
      最近更新 更多