Перечислите фамилии и имена студентов в порядке убывания их средних оценок. Дано сначала количество студентов

Перечислите фамилии и имена студентов в порядке убывания их средних оценок. Дано сначала количество студентов n, а затем n строк, в каждой из которых содержится фамилия, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значения от 1 до 5. Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Не нужно выводить оценки. Если несколько студентов имеют одинаковые средние оценки, то их нужно выводить в порядке, заданном во входных данных. Пример ввода
Татьяна_8032

Татьяна_8032

Хорошо, для решения этой задачи вам нужно будет выполнить следующие шаги:

1. Сначала нужно считать количество студентов (n), которое задано в первой строке ввода.

2. Затем создайте пустой список для хранения данных о студентах. Вы можете использовать список или словарь для этой цели.

3. В цикле считывайте данные о студентах (фамилия, имя и оценки) и добавляйте их в созданный ранее список или словарь. По мере добавления данных, также вычисляйте среднюю оценку каждого студента.

4. После считывания всех данных, отсортируйте список или словарь студентов по убыванию их средних оценок. В случае равных средних оценок, порядок должен быть таким же, как во входных данных.

5. Выведите пары фамилия-имя каждого студента в отсортированном порядке, по одной паре на строке.

Вот пример кода на Python, решающего данную задачу:

python
# Считываем количество студентов
n = int(input())

# Создаем пустой словарь для хранения данных о студентах и их средних оценках
students = {}

# Цикл для считывания данных о студентах и их оценках
for _ in range(n):
line = input().split()
surname = line[0]
name = line[1]
grades = list(map(int, line[2:]))

# Вычисляем среднюю оценку студента
avg_grade = sum(grades) / len(grades)

# Добавляем данные о студенте и его среднюю оценку в словарь
students[surname + " " + name] = avg_grade

# Сортируем список студентов по убыванию их средних оценок
sorted_students = sorted(students.items(), key=lambda x: x[1], reverse=True)

# Выводим пары фамилия-имя каждого студента в отсортированном порядке
for student in sorted_students:
print(student[0])


Надеюсь, это поможет вам решить задачу! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Знаешь ответ?
Задать вопрос
Привет!
hello