• Предмет: Информатика
  • Автор: umida344567
  • Вопрос задан 4 месяца назад

Введи оценку (0 - остановить ввод):
>>> 5
Введи балл (0 — остановить ввод):
>>> 4
Введи балл (0 - остановить ввод):
>>> 2
Введи балл (0 — остановить ввод):
>>> 3
Введи балл (0 — остановить ввод):
>>> 0
Список оценок: [5, 4, 2, 3]
Успеваемость: 75.0


NeSprashivaite: При каких действиях вообще может из цифр списка [5, 4, 2, 3] выйти число 75.0? Мне даже в голову не приходит.

Ответы

Ответ дал: NeSprashivaite
0

Ответ:

grades = []  # Список с оценками

max_grade = 5  # Максимальная оценка

while True:

   grade = int(input("Введи балл (0 - остановить ввод): "))

   if grade == 0:

       break

   # Проверка, на максимальную оценку.

   if grade > 5:

       print("Максимальная оценка", max_grade, "Пожалуйста, введите корректную оценку.")

       continue

   grades.append(grade)

total_points = sum(grades)

total_possible_points = len(grades) * max_grade

progress = (total_points / total_possible_points) * 100

print("Список оценок:", grades)

print("Успеваемость:", progress)

Дополнительно:

Вы можете поменять максимальную оценку на нужную вам или вообще убрать проверку. К тому же, при всех моих усилиях, я не смог придумать алгоритм, при котором из списка [5, 4, 2, 3] могло выйти число 75.0, поэтому я пришел к такому алгоритму подсчёта успеваемости (максимальная - 100).

Вас заинтересует