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'"
阅读 4.5k
1 个回答

raw_input 函数将所有的输入作为一个字符串,如果你输入了 "12",那么得到的值就是 "12"(包括引号),因此报错了:

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题