Python 检查整数输入

标签 python input types

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

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"

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

关于Python 检查整数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22025764/

相关文章:

python - 国家/地区数据 : Renaming countries according to dict in pandas

python - 我想从子进程中获取 stdout 和 stderr

python - 使用 win32com 访问 Excel 文件的问题

javascript - 如何知道文本框中的文本是否被选中?

python - 添加 "status light"到 Django admin

Java 扫描仪输入,测试按钮是否按下

java - Struts 逻辑 :iterate input field

java - 检查方法返回值的类型

dart - 如果 set 文字是 set 类型,那么它在 dart 中的类是什么?

javascript - 一行中的多个严格相等比较