题解 | #牛牛的绩点#
牛牛的绩点
https://www.nowcoder.com/practice/de8bc3e736164786b07a4dd64ed172f7
mult_sum = 0 grade_sum = 0 level_dict = {"A": 4.0, "B": 3.0, "C": 2.0, "D": 1.0, "F": 0} while True: level = input() if level == "False": break grade = int(input()) mult_sum += grade * level_dict[level] grade_sum += grade print("%.02f" % (mult_sum / grade_sum))
第7行代码,如果写成 if not level: 是无法满足题意的。
变量level是字符串类型,这个时候如果输入False,level里存的变量值不为空,此时判断语句条件不成立,无法跳出循环。