Python Программа - используйте while l oop, чтобы вычислить количество буквенных оценок, введенных пользователем. - PullRequest
0 голосов
/ 28 мая 2020

Я написал код для следующей задачи:

"Напишите программу, которая постоянно спрашивает пользователя о результатах экзамена, выражаемых в виде целых процентов в диапазоне от 0 до 100. Рассчитайте общее количество оценок в каждой буквенной категории следующим образом: от 90 до 100 - это A, от 80 до 89 - это B, от 70 до 79 - это C, от 60 до 69 - это D, и от 0 до 59 - это F. Используйте отрицательный результат в качестве контрольного значения, чтобы указать конец ввода. (Отрицательное значение используется только для завершения l oop, поэтому не используйте его в расчетах.) "

Вот мой код:

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. Как я могу исправить это, чтобы отображались правильные числа?

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Похоже, что операторы if / elif не включены в while l oop, поэтому переменные на самом деле не обновляются. Попробуйте сделать отступ в этом блоке, чтобы он находился внутри l oop, и посмотрите, работает ли это!

0 голосов
/ 28 мая 2020

Вы забыли сделать отступ в операторах if.

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...