Вывести список имен студентов через 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, а не у объекта (экземпляра класса).