你在秀些鸡儿 发表于 2017-11-9 22:18:25

第25课通讯录的问题!!!

如果需要考虑指令不是1234的情况该怎么写呢。
为什么
instr = input('请输入指令:')
if instr == 1:
    print('1')
if instr == 2:
    print('2')
else:
    print('0')
不管输入什么都是输出0,但是如果instr = int(input('请输入指令:'))这样的话就会
请输入指令:asdfas
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\练习\草稿.py", line 1, in <module>
    instr = int(input('请输入指令:'))
ValueError: invalid literal for int() with base 10: 'asdfas'


ba21 发表于 2017-11-9 22:29:45

你应该发至python 块。

input 接收到的是字符串
用你的改的话应该 是
if instr == '1':

BngThea 发表于 2017-11-9 22:56:00

input函数默认的返回值是str类型,你不能将它赋值给一个int类型
请进行强制类型转换:
instr = int(input('请输入指令:'))
页: [1]
查看完整版本: 第25课通讯录的问题!!!