3216207773 发表于 2020-9-9 17:30:43

question

temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")
num = int(temp)
if num>90:
    print('你的考试等级为A')
if 90>= num > 80:
    print('你的考试等级为B')
if 80>= num > 60:
    print('你的考试等级为C')
if 60>= num >= 0:
    print('你的考试等级为D')
            #
temp = input('请输入你的考试成绩:')
while type(temp) != type(1):
    print('抱歉,输入不合法,',end='')
    temp = input('请输入一个整数:')
num = int(temp)   
if num>90:
    print('你的考试等级为A')
if 90>= num > 80:
    print('你的考试等级为B')
if 80>= num > 60:
    print('你的考试等级为C')
if 60>= num >= 0:
    print('你的考试等级为D')
      
#为什么第一个可以运行,第二个却不能正常运行

疾风怪盗 发表于 2020-9-9 17:37:15

temp = input('请输入你的考试成绩:')
while type(temp) != type(1):
    print('抱歉,输入不合法,',end='')
    temp = input('请输入一个整数:')
第二个里面这个,input进来的都是字符串型,type(1)是数值型,那这个while一直成立,所以一直在循环

第一个里isdigit() 方法检测字符串是否只由数字组成,输入数字时,虽然为字符型,但也判断为True,whlie 就终止循环,执行下面的代码了

还有,你发错了,不是技术交流,应该发在问题求助板块里

3216207773 发表于 2020-9-9 17:42:34

疾风怪盗 发表于 2020-9-9 17:37
第二个里面这个,input进来的都是字符串型,type(1)是数值型,那这个while一直成立,所以一直在循环

...

第二个怎么进行修改

疾风怪盗 发表于 2020-9-9 17:52:26

3216207773 发表于 2020-9-9 17:42
第二个怎么进行修改

第二个要改来干嘛,用第一种方式就行了
页: [1]
查看完整版本: question