python小練習:讀入一個考試得分,判斷這個分數是哪個等級,並輸出,考慮異常場景
讀入一個考試得分,判斷這個分數是哪個等級,並輸出。
等級:》=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