【发布时间】:2014-03-28 08:36:44
【问题描述】:
我试图允许用户输入我的程序,但是当他们输入字符串时,我的程序失败了。这是一个更大的程序,但试图纠正这个问题,我到目前为止:
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(raw_input(...))是一个非常个坏主意 -
str.isdigit是否存在于 Python2 中? -
@lanzz 是的,它会带来潜在的安全风险:应该怎么做?
-
@adsmith,是的,它区分浮点数和整数,聪明