额麻烦各位大佬看看为什么随便打一下数字会有两个评分等级
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")
因为你最后输出等级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") 临时号 发表于 2022-7-14 22:29
因为你最后输出等级S的条件是90
明白了谢谢大佬
一个字母和S? 如果是的话,这应该没问题了。代码如下:
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") python001_ 发表于 2022-7-14 22:41
一个字母和S?
嗯 想知道原理你可以加我微信 python001_ 发表于 2022-7-14 22:47
想知道原理你可以加我微信
明白了,谢谢哈
页:
[1]