num1 = int(raw_input('1'))
num2 = int(raw_input('2'))
if not isinstance(num1,int):
print 'one print error'
elif not isinstance(num2,int):
print 'two print error'
else:
print '+',num1+num2
print '-',num1-num2
print '*',num1*num2
print '/',num1/num2
为什么我在输入第一个数为字符串类型 “12”的时候 Python 2.7.8 就报错下面异常?
Traceback (most recent call last):
File "2.py", line 1, in <module>
num1 = int(raw_input('1'))
ValueError: invalid literal for int() with base 10: "'23'"
raw_input
函数将所有的输入作为一个字符串,如果你输入了"12"
,那么得到的值就是"12"
(包括引号),因此报错了:如果使用
input
函数,当你输入"12"
的时候,得到的时一个字符串"12"
,当你输入12
的时候,得到的时一个整数12
。