Добавить возможность для добавления студентов в школу (метод add_student)

Some_acc

Новичок
Пользователь
Ноя 29, 2022
15
0
1
Есть задание:
Создайте класс Student, содержащий поля: фамилия и имя, номер группы, успеваемость (массив из пяти элементов, каждый элемент число от 1 до 10).
Проверить что фамилия и имя строки через property. Если не строка, вызываем ошибку ValidationError.

Создать класс School, содержащий список учеников (изначально пустой):

Добавить возможность для добавления студентов в школу (метод add_student) Не могу сделать корректно метод, в чем ошибка?
Добавить возможность вывода фамилий и номеров групп студентов, имеющих оценки, равные только 5 или 6. Метод (get_best_students)


Код:
class ValidationError(Exception):
    pass


class Student:
    def __init__(self, name, surname, group_number, great):
        self.name = name
        self.surname = surname
        self.group_number = group_number
        self.great = great
       
       
    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        if not isinstance(value, str):
            raise ValidationError('Name must be string')

        self._name = value

    @property
    def surname(self):
        return self._surname

    @surname.setter
    def surname(self, value):
        if not isinstance(value, str):
            raise ValidationError('Surname must be string')

        self._surname = value


class School:
    def __init__(self, student):
        self.students = []
   
    def add_student(self, student):
        student1 = Student('Ivan', 'Ivanov', 15, [4, 7, 8, 5, 4])
        student2 = Student('Bill', 'Jonas', 13, [9, 9, 8, 8, 8])
        student3 = Student('Nick', 'Jordan', 10, [6, 8, 9, 6, 4])
        student4 = Student('Maria', 'Shpak', 13, [7, 9, 8, 7, 7])
        student5 = Student('James', 'Cotlin', 15, [6, 7, 8, 9, 9])
        return self.students.append(student)

school = School()
school.add_student()
print(school.student)
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Python:
class ValidationError(Exception):
    pass


class Student:
    def __init__(self, name, surname, group_number, great):
        self.name = name
        self.surname = surname
        self.group_number = group_number
        self.great = great

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        if not isinstance(value, str):
            raise ValidationError('Name must be string')

        self._name = value

    @property
    def surname(self):
        return self._surname

    @surname.setter
    def surname(self, value):
        if not isinstance(value, str):
            raise ValidationError('Surname must be string')

        self._surname = value


class School:
    def __init__(self):
        self.students = []

    def add_student(self, student):
        self.students.append(student)


school = School()
school.add_student(Student('Bill', 'Jonas', 13, [9, 9, 8, 8, 8]))
school.add_student(Student('Nick', 'Jordan', 10, [6, 8, 9, 6, 4]))
school.add_student(Student('Maria', 'Shpak', 13, [7, 9, 8, 7, 7]))
school.add_student(Student('James', 'Cotlin', 15, [6, 7, 8, 9, 9]))
 

Форум IT Специалистов