【发布时间】:2019-06-03 15:44:27
【问题描述】:
我创建了一个简单的数字猜谜游戏,我正在尝试修复一个意外输入任何内容的错误。
当程序要求猜测时,如果用户在没有输入数字的情况下点击回车,则会出现以下错误:
Traceback(最近一次调用最后一次):文件 “/Users/tom/Documents/Automate with Python/RandomNumberGame.py”,行 13、在 guess = int(input()) ValueError: int() 以 10 为底的无效文字:''
我希望它改为打印“请输入一个数字”。
我是编程新手,已开始阅读“使用 Python 自动化无聊的东西”。提前致谢!
原代码没有包含
elif guess == ' ':
print('Please enter a number')
但目标是让程序说如果输入为空
我尝试添加:
guess = int(input()) or str(input())
没有任何进展
猜数字游戏
import random
print('Hello, What is your name?')
name = input()
print('Well, ' + name + ', I am thinking of a number between 1 and 1000, You have 10 guesses to figure it out. Good luck!')
secretNumber = random.randint(1,1000)
print('DEBUG: Secret number is ' + str(secretNumber))
for guessesTaken in range(1,11):
print('Take a guess.')
guess = int(input())
if guess < secretNumber:
print('Your guess is too low.')
elif guess > secretNumber:
print('Your guess is too high.')
elif guess == ' ':
print('Please enter a number')
else:
break #This condition is for the correct guess
if guess == secretNumber:
print('Good job ' + name + '! You guessed the number in ' + str(guessesTaken) + ' guesses!')
else:
print('Too many guesses, The number I was thinking of was ' + str(secretNumber))
【问题讨论】:
-
由于
guess是一个数字,它永远不能等于一个字符串。如果您想允许空输入,您需要在将其转换为int之前检查该。
标签: python error-handling