清风慕竹0817 发表于 2017-10-12 14:41:40

想要打印姓名和学号,为什么会一直提示输入错误??

想要打印姓名和学号,为什么会一直提示输入错误??
while True:
    temp1=input('输入名字:')
    temp2=input('输入学号:')
    if isinstance(temp1,str) and isinstance(temp2,int):
      print(temp1,temp2)
    else:
      print('输入的格式不对,请检查后重新输入:')

kanton 发表于 2017-10-12 14:55:28

因为你input进来的永远按字符串处理。
while True:
    temp1=input('输入名字:')
    temp2=int(input('输入学号:'))   #方法1
    if isinstance(temp1,str) and isinstance(temp2,str):    #方法2
      print(temp1,temp2)
    else:
      print('输入的格式不对,请检查后重新输入:')

ButcherRabbit 发表于 2017-10-12 14:55:29

本帖最后由 ButcherRabbit 于 2017-10-12 14:58 编辑

input()在python 3里默认是字符串类型
while True:
    temp1=input('输入名字:')
    temp2=input('输入学号:')
    if isinstance(temp1,str) and temp2.isdigit():
      print(temp1,temp2)
    else:
      print('输入的格式不对,请检查后重新输入:')

BngThea 发表于 2017-10-12 14:57:23

input函数返回的是str类型,所以你需要将if语句中的第二个判断修改一下:
isinstance(temp2,int)#这里判断永远为假
改为 temp2.isdigit()
页: [1]
查看完整版本: 想要打印姓名和学号,为什么会一直提示输入错误??