python输入整数的代码,Python检查整数输入

I am trying to allow a user to input into my program, however when they enter a string my program fails. It is for a bigger program but was trying to correct the problem, I have so far:

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"

when the user enters a string, it returns:

number = eval(data)

File "", line 1, in

NameError: name 'hel' is not defined

Any help would be most appreciated.

解决方案

You're using eval, which evaluate the string passed as a Python expression in the current context. What you want to do is just

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"

This will try to parse the input as an integer, and if it fails, displays the error message.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值