请问为什么90<=temp<100这个区间不能打印?
请问为什么90<=temp<100这个区间不能打印?原题目:编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S
我的代码
while True:
temp = input("请输入成绩:")
if temp == '100':
print('S')
elif '90' <= temp < '100':
print('A')
elif '80' <= temp < '90':
print('B')
elif '60' <= temp < '80':
print('C')
elif temp < '60':
print('D')
else:
if 'e' in temp:
break 对于字符串的大小判定是先看第一个,如果能分出大小,就不再判定第二个。
'9'是大于'1'的,所以'90' <= temp < '100'永远不成立。
把它转换成整数再判定就正常了。 冬雪雪冬 发表于 2021-9-29 19:03
对于字符串的大小判定是先看第一个,如果能分出大小,就不再判定第二个。
'9'是大于'1'的,所以'90'
感谢大佬,明白了{:5_106:} 不应该是int型的吗 怎么都是字符型 快乐星球 发表于 2021-9-29 20:49
不应该是int型的吗 怎么都是字符型
为了最后e可以被判断,所以我就都改成了字符串{:5_104:}
页:
[1]