我为以下问题编写了一些代码:
“编写一个程序,连续向用户询问考试分数,分数以0到100之间的整数百分比表示。计算每个字母等级类别中的等级总数,如下所示:90到100是A,80到89是B,70到79是C,60到69是D,0到59是F。使用负数作为前哨值以指示输入结束。(负值仅用于结束循环,因此不要在计算中使用它。)“
这是我的代码:
count = 0
gradeA = 0
gradeB = 0
gradeC = 0
gradeD = 0
gradeF = 0
score = int(input("Enter an exam score: "))
while score != -1:
count = count + 1
score = int(input("Enter an exam score: "))
if score >= 90 and score <= 100:
gradeA = gradeA + 1
elif score >= 80 and score <= 89:
gradeB = gradeB + 1
elif score >= 70 and score <= 79:
gradeC = gradeC + 1
elif score >= 60 and score <= 69:
gradeD = gradeD + 1
elif score >= 0 and score <= 59:
gradeF = gradeF + 1
print ("You entered " + str(count) + " exam scores.")
print ("Number of A's = " + str(gradeA))
print ("Number of B's = " + str(gradeB))
print ("Number of C's = " + str(gradeC))
print ("Number of D's = " + str(gradeD))
print ("Number of F's = " + str(gradeF))
问题是,当我运行代码时,每个字母等级类别中的等级数都显示为0。 如何解决此问题以显示正确的数字?
看起来if/elif语句没有包含在while循环中,因此变量实际上没有得到更新。尝试缩进该块,使其位于循环内,看看是否有效
您忘记缩进if语句
相关问题 更多 >
编程相关推荐