xiaozheng123 发表于 2022-7-14 22:13:57

额麻烦各位大佬看看为什么随便打一下数字会有两个评分等级

x=int(input("输入你的分数"))
if x<60:
    print("D")
if 60<=x<80:
    print("C")
if 80<=x<90:
    print("B")
if 90<=x<100:
    print("A")
else:
    print("S")

临时号 发表于 2022-7-14 22:29:08

因为你最后输出等级S的条件是90<=x<=100这个条件不成立
然而我57分也算90<=x<=100这个条件不成,所以会输出S,并且他也满足x<60的条件,所以也会输出D
解决的方法最推荐用elif把这几个if语句给串联起来,这样当一个条件成立就不会判断下面的
当然这样会造成你输入负数也打印出D,所以建议加个判断
代码:
x=int(input("输入你的分数"))
if x<0:
    print("输入错误")
elif 0<=x<60:
    print("D")
elif 60<=x<80:
    print("C")
elif 80<=x<90:
    print("B")
elif 90<=x<100:
    print("A")
else:
    print("S")

xiaozheng123 发表于 2022-7-14 22:41:01

临时号 发表于 2022-7-14 22:29
因为你最后输出等级S的条件是90

明白了谢谢大佬

python001_ 发表于 2022-7-14 22:41:10

一个字母和S?

python001_ 发表于 2022-7-14 22:46:07

如果是的话,这应该没问题了。代码如下:
x=int(input("输入你的分数"))
if x<60:
    print("D")
if 60<=x<80:
    print("C")
if 80<=x<90:
    print("B")
if 90<=x<100:
    print("A")
if x==100:
    print("S")

xiaozheng123 发表于 2022-7-14 22:46:20

python001_ 发表于 2022-7-14 22:41
一个字母和S?

python001_ 发表于 2022-7-14 22:47:29

想知道原理你可以加我微信

xiaozheng123 发表于 2022-7-14 22:50:11

python001_ 发表于 2022-7-14 22:47
想知道原理你可以加我微信

明白了,谢谢哈
页: [1]
查看完整版本: 额麻烦各位大佬看看为什么随便打一下数字会有两个评分等级