0

我是编程新手,我正在构建一个有趣的猜谜游戏作为第一个程序。我已经弄清楚了以下几点:

  • 如何设置一个特定的数字让他们在 1-50 之间猜测(例如)
  • 当他们在参数之外猜测时会发生什么
  • “打破游戏”的猜测和尝试次数
  • 包含充满 if 语句的 while 循环

我似乎无法弄清楚如何阻止用户在游戏中输入除数字以外的任何内容。我希望他们能够这样做,但我想打印出个人错误消息然后退出 while 循环。(基本上结束了游戏)。

这与我能猜到的一样接近:

if guess == number:
    print('Hey wait! That\'s not a number!')
    print('Try again tomorrow.')
    guessed = True
    break

我收到错误消息:“ValueError:int() 以 10 为基数的无效文字”,我不知道如何解决这个问题。我一直在阅读有关 isdigit 和 isalpha 的内容,并尝试与它们混在一起看看会发生什么,但我得到了同样的错误。也许我只是把它放在错误的代码部分

有什么提示吗?:)

谢谢!

4

2 回答 2

1

使用try/except处理异常:

try:
    guess = int(input("What's your guess? "))
except ValueError:
    print("Hey wait! That's not a number!")
    print("Try again tomorrow.")
    guessed = True
    break
# otherwise, do stuff with guess, which is now guaranteed to be an int
于 2020-05-14T15:25:24.707 回答
0

您可以使用 try / except 尝试转换为整数或浮点数,然后如果转换失败,则捕获错误。例子:

try:

   guessInt = int(guess)

except ValueError:

   print('Hey wait! That\'s not a number!')
   print('Try again tomorrow.')
   guessed = True
   break



于 2020-05-14T15:26:04.487 回答