Помогите разобраться с задачкой. Python
Ввести оценки N учеников по K предметам (N > 10). Определить и вывести на экран количество учеников, не получивших ни одной оценки «5», а также количество неуспевающих учеников. Найти процент учеников, обучающихся на 4 и 5, процент отличников и процент неуспевающих студентов.
Ответы (1 шт):
Автор решения: moondust
→ Ссылка
Вот, сколотил на быструю руку, но должно работать
numbers = {}
n = int(input('Введите количество учеников: ')) # количество учеников
for f in range(1, n + 1):
print('Ввод оценок', f, 'ученика\nВводите через пробел')
lis = [int(i) for i in input().split()] # ввод оценок через пробел
print(lis)
numbers.update([(f, lis)])
low = []
average = []
high = []
for f in numbers.keys():
if 1 in numbers.get(f) or 2 in numbers.get(f) or 3 in numbers.get(f):
low.append(f)
elif 4 in numbers.get(f):
average.append(f)
else:
high.append(f)
print('Количество учеников с низким баллом:', len(low), '\n'
'Количество учеников со средним баллом:', len(average), '\n'
'Количество отличников:', len(high))
len_all = len(low) + len(average) + len(high)
percent_low = (len(low) * 100) / len_all
percent_average = (len(average) * 100) / len_all
percent_high = (len(high) * 100) / len_all
print('Процент учеников с низким баллом:', percent_low, '\n'
'Процент учеников со средним баллом:', percent_average, '\n'
'Процент отличников:', percent_high)