У вас есть код на Python для класса N человек. Каждый из них получил за урок по информатике оценку: 3, 4 или 5

  • 42
У вас есть код на Python для класса N человек. Каждый из них получил за урок по информатике оценку: 3, 4 или 5, но в этот раз нет двоек. Напишите программу, которая будет принимать список оценок - N чисел - и выводить сообщение на экран о том, кто сегодня в большинстве: отличники, хорошисты или троечники.
Zolotoy_Klyuch
36
Хорошо, вот программа на языке Python, которая решит данную задачу:

python
def majority_of_students(grades):
excellent_students = 0
good_students = 0
average_students = 0

for grade in grades:
if grade == 5:
excellent_students += 1
elif grade == 4:
good_students += 1
elif grade == 3:
average_students += 1

if excellent_students > good_students and excellent_students > average_students:
return "В большинстве отличники"
elif good_students > excellent_students and good_students > average_students:
return "В большинстве хорошисты"
elif average_students > excellent_students and average_students > good_students:
return "В большинстве троечники"
else:
return "Нет явного большинства"

n = int(input("Введите количество учеников: "))
grades = []
for i in range(n):
grade = int(input(f"Введите оценку ученика {i+1}: "))
grades.append(grade)

result = majority_of_students(grades)
print(result)


Программа начинается с определения функции `majority_of_students`, которая принимает список оценок `grades`. Внутри функции мы создаем переменные для подсчета количества отличников, хорошистов и троечников. Затем, с помощью цикла `for`, мы итерируемся по списку оценок и увеличиваем соответствующие переменные в зависимости от текущей оценки.

После завершения цикла, мы сравниваем значения переменных и определяем, кто является в большинстве. Затем возвращаем соответствующее сообщение.

Затем программа запрашивает у пользователя количество учеников и оценки для каждого ученика. Вводятся оценки для всех учеников, список передается в функцию `majority_of_students`, а результат выводится на экран.