3216207773 发表于 2020-9-9 17:46:58

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')
      
#为什么第一个可以运行,第二个却不能正常运行

1q23w31 发表于 2020-9-9 17:54:55

因为input默认返回的时字符型变量
type(temp) != type(1)
所以这个条件永远成立,导致一直让你输入

baige 发表于 2020-9-9 17:55:31

type(temp) != type(1)永远成立
input()输入的是str类型

xiangya 发表于 2020-9-9 18:03:05

temp需要转换类型
temp = int(input('请输入你的考试成绩:'))

3216207773 发表于 2020-9-9 19:11:59

baige 发表于 2020-9-9 17:55
type(temp) != type(1)永远成立
input()输入的是str类型

num = int(input('请输入你的考试成绩:'))
while type(num) != type(1):
    print('抱歉,输入不合法,',end='')
    num = int(input('请输入一个整数:'))
if num>90:
    print('你的考试等级为A')
if 90>= num > 80:
    print('你的考试等级为B')
if 80>= num > 60:
    print('你的考试等级为C')
if 60>= num >= 0:
    print('你的考试等级为D')
#改完之后,为什么第一次输入除数字以外的类型还不能正常运行

3216207773 发表于 2020-9-9 19:13:04

1q23w31 发表于 2020-9-9 17:54
因为input默认返回的时字符型变量

所以这个条件永远成立,导致一直让你输入

num = int(input('请输入你的考试成绩:'))
while type(num) != type(1):
    print('抱歉,输入不合法,',end='')
    num = int(input('请输入一个整数:'))
if num>90:
    print('你的考试等级为A')
if 90>= num > 80:
    print('你的考试等级为B')
if 80>= num > 60:
    print('你的考试等级为C')
if 60>= num >= 0:
    print('你的考试等级为D')
#改完之后,为什么第一次输入除数字以外的类型还不能正常运行

1q23w31 发表于 2020-9-9 20:10:02

3216207773 发表于 2020-9-9 19:13
num = int(input('请输入你的考试成绩:'))
while type(num) != type(1):
    print('抱歉,输入不合法 ...

因为int只能对纯数字(不包括小数)进行取整,例如像".“的字符 int无法取整,会抛出一个异常,使程序无法继续运行

3216207773 发表于 2020-9-9 20:34:22

1q23w31 发表于 2020-9-9 20:10
因为int只能对纯数字(不包括小数)进行取整,例如像".“的字符 int无法取整,会抛出一个异常,使程序无法 ...

如何进行修改

1q23w31 发表于 2020-9-9 21:04:28

3216207773 发表于 2020-9-9 20:34
如何进行修改

按照你这个思路无法对其修改,建议第一种做法

3216207773 发表于 2020-9-10 07:57:11

1q23w31 发表于 2020-9-9 21:04
按照你这个思路无法对其修改,建议第一种做法

好的,蟹蟹啦
页: [1]
查看完整版本: question