Вывести список имен студентов через format

Еще почему то не выводит среднее значение балла

class Student:

    def __init__(self, surname_name, number_group, achievement):
        self.surname_name = surname_name
        self.number_group = number_group
        self.achievement = achievement

    def midl_score(self):
        summ = sum(self.achievement) / len(self.achievement)
        return summ

    def __str__(self):
        return (self.surname_name)

new_group = []

for i in range(2):
    print('Студент {}'.format(i + 1))
    name = input('Имя фамилия студента: ')
    num_group = int(input('Номер группы: '))
    perfomance = list(map(int, input('Пять оценок через пробел: ').split()))
    new_group.append(Student(name, num_group, perfomance))

sort_student = sorted(new_group, key=lambda new_group_1: new_group_1.midl_score())
print('Список студентов {} по среднему баллу {}: \n'.format(sort_student, Student.midl_score()))

Ответы (1 шт):

Автор решения: Vladimir Obrizan

Если вы хотите вывести всех студентов, отсортированных по среднему баллу, то в конце лучше сделать цикл:

for student in sort_student:
    print(f"{student.surname_name} {student.midl_score()}"

Вот такая запись: Student.midl_score() не имеет смысла, т. к. вы вызываете метод у класса Student, а не у объекта (экземпляра класса).

→ Ссылка