Skip to main content
 首页 » 编程设计

Python 检查整数输入

2025年05月04日10grandyang

我试图让用户输入我的程序,但是当他们输入字符串时,我的程序失败了。它适用于更大的程序,但正在尝试纠正问题,到目前为止我已经:

data = raw_input('Enter a number: ') 
number = eval(data) 
if type(number) != int: 
     print"I am afraid",number,"is not a number" 
elif type(number) == int: 
    if data > 0: 
        print "The",number,"is a good number" 
    else: 
        print "Please enter a positive integer" 

当用户输入一个字符串时,它返回:

number = eval(data) 
  File "<string>", line 1, in <module> 
NameError: name 'hel' is not defined 

如有任何帮助,我们将不胜感激。

请您参考如下方法:

您正在使用 eval,它会评估在当前上下文中作为 Python 表达式传递的字符串。你想做的只是

data = raw_input('Enter a number: ') 
try: 
    number = int(data) 
except ValueError: 
    print "I am afraid %s is not a number" % data 
else: 
    if number > 0: 
        print "%s is a good number" % number 
    else: 
        print "Please enter a positive integer" 

这将尝试将输入解析为整数,如果失败,则显示错误消息。