首页 > Python类型转换问题

Python类型转换问题

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"(包括引号),因此报错了:

ValueError: invalid literal for int() with base 10: "'23'"

如果使用 input 函数,当你输入 "12" 的时候,得到的时一个字符串 "12",当你输入 12 的时候,得到的时一个整数 12

【热门文章】
【热门文章】