读入一个考试得分,判断这个分数是哪个等级,并输出。
等级:》=90 优 ,>=80且小于90 良,》=70 且小于80,中,》=60且<70及格
《60 不及格
覆盖场景:
考虑字符类型(str,float)
数字范围(0-100)以外的
小数98.99等
代码:
#encoding=utf-8
while True:
try:
score = raw_input("input the score,'exit' to stop: >>:")
#print type(score)
#print isinstance(score,str)
if "exit" in score:
break
else:
score = float(score)
print "score:",score
if score >= 90 and score <=100:
print u"优"
elif score>=80 and score <90:
print u"良"
elif score >=70 and score <80:
print u"中"
elif score >= 60 and score <70:
print u"及格"
elif score >=0 and score <60:
print u"不及格"
else:
print u"请重新输入!"
except Exception,e:
print e
print u"请重新输入!"
continue
结果:
D:\>python test.py
input the score,'exit' to stop: >>:90
score: 90.0
优
input the score,'exit' to stop: >>:100
score: 100.0
优
input the score,'exit' to stop: >>:89
score: 89.0
良
input the score,'exit' to stop: >>:78
score: 78.0
中
input the score,'exit' to stop: >>:67
score: 67.0
及格
input the score,'exit' to stop: >>:56
score: 56.0
不及格
input the score,'exit' to stop: >>:1
score: 1.0
不及格
input the score,'exit' to stop: >>:0
score: 0.0
不及格
input the score,'exit' to stop: >>:-2
score: -2.0
请重新输入!
input the score,'exit' to stop: >>:9.3
score: 9.3
不及格
input the score,'exit' to stop: >>:8.88
score: 8.88
不及格
input the score,'exit' to stop: >>:90.89
score: 90.89
优
input the score,'exit' to stop: >>:101
score: 101.0
请重新输入!
input the score,'exit' to stop: >>:200
score: 200.0
请重新输入!
input the score,'exit' to stop: >>:stop
could not convert string to float: stop
请重新输入!
input the score,'exit' to stop: >>:sdlfj
could not convert string to float: sdlfj
请重新输入!
input the score,'exit' to stop: >>:*&%$
could not convert string to float: *&%$
请重新输入!
input the score,'exit' to stop: >>:exit