Convert a range score into a letter grade in Python
我正在尝试编写一个程序,将0.0到1.0之间的分数转换为字母等级。 如果分数超出范围,则打印错误消息。 如果分数介于0.0和1.0之间,请使用以下内容打印字母等级:
1 2 3 4 5 6 | Score Grade >= 0.9 A >= 0.8 B >= 0.7 C >= 0.6 D <0.6 F |
要求:
这是我现在的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import sys scores = input ("Enter your score:") try: floatScores = float(scores) except: print ("Bad Score") if floatScores >= 0.0 and floatScores < 0.4: print ("You have a: F") elif floatScores >= 0.6 and floatScores < 0.7: print ("You have a: D") elif floatScores >= 0.7 and floatScores < 0.8: print ("You have a: C") elif floatScores >= 0.8 and floatScores < 0.9: print ("You have a: B") elif (floatScores >= 0.9 and floatScores <= 1.0: print ("You have an: A") else: print ("Bad Score") sys.exit() |
请指教。
谢谢
我不打算为你做功课,不过,我会给你一些提示......
您的第一个要求声明您需要使用
接下来,您需要检查分数是否在
对于您的第三个要求,我建议您阅读这篇文章。
对于您的第四个要求,我建议您使用Python的
编辑
现在您已经发布了一些代码我可以帮助您。
在你的
然后你的代码将正常工作! :)
注意
如果您不想要
1 2 3 4 5 6 7 8 9 10 11 12 | def range_score(): score_range = {'A': 0.9, 'B': 0.8, 'C': 0.7, 'D': 0.6, 'F': 0.0} try: score = float(input('Score? ')) except ValueError: return 'Bad Score' assert 0.0 <= score <= 1.0, 'Bad Score' for k, v in score_range.items(): if score >= v: return k |