【问题标题】:Keep a game going until the user types exit, and print out how many guesses the user did?让游戏继续进行,直到用户键入退出,并打印出用户猜了多少次?
【发布时间】:2016-12-15 16:38:17
【问题描述】:

我需要生成一个从 1 到 9 的随机数并让用户猜测它。我告诉用户它是否太高、太低或正确。在他们猜对之前,我无法弄清楚如何让游戏继续进行,一旦他们猜对了,他们必须输入退出来停止游戏。我还需要打印出他们最终猜测了多少次。到目前为止,这是我的代码:

import random

while True:

    try:

        userGuess = int(input("Guess a number between 1 and 9 (including 1 and 9):"))

        randomNumber = random.randint(1,9)

        print (randomNumber)

    except:

        print ("Sorry, that is an invalid answer.")

        continue

    else:

        break

if int(userGuess) > randomNumber:

    print ("Wrong, too high.")

elif int(userGuess) < randomNumber:

    print ("Wrong, too low.")

elif int(userGuess) == randomNumber:

    print ("You got it right!")

【问题讨论】:

  • 您应该在循环外生成数字并从循环内与用户交互。

标签: python python-3.x


【解决方案1】:
import random
x = random.randint(1,9)
print x

while (True):
    answer=input("please give a number: ")
    if ( answer != x):
        print ("this is not the number: ")
    else:
        print ("You got it right!")
        break       

【讨论】:

    【解决方案2】:

    以下是您的问题的解决方案:

    Guessing Game One Solutions

    import random
    
    number = random.randint(1,9)
    guess = 0
    count = 0
    
    
    while guess != number and guess != "exit":
        guess = input("What's your guess?")
    
        if guess == "exit":
            break
    
        guess = int(guess)
        count += 1
    
        if guess < number:
            print("Too low!")
        elif guess > number:
        print("Too high!")
        else:
            print("You got it!")
    print("And it only took you",count,"tries!")
    

    【讨论】:

      【解决方案3】:
      from random import randint
      
      while 1:
          print("\nRandom number between 1 and 9 created.")
          randomNumber = randint(1,9)
      
      while 1:        
          userGuess = input("Guess a number between 1 and 9 (including 1 and 9). \nDigit 'stop' if you want to close the program: ")
          if userGuess == "stop":
              quit()
          else:
              try:
                  userGuess = int(userGuess)
                  if userGuess > randomNumber:
                      print ("Wrong, too high.")
      
                  elif userGuess < randomNumber:
                      print ("Wrong, too low.")
      
                  else:
                      print ("You got it right!")
                      break
              except:
                  print("Invalid selection! Insert another value.")
      

      【讨论】:

        猜你喜欢
        • 2016-01-19
        • 1970-01-01
        • 1970-01-01
        • 2011-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多