Загрузка данных


class Student:
    def __init__(self, surname, name, patronymic, birth_date, address, avg_score, faculty, course):
        self.surname = surname
        self.name = name
        self.patronymic = patronymic
        self.birth_date = birth_date
        self.address = address
        self.avg_score = avg_score
        self.faculty = faculty
        self.course = course

    # --- ВСЕ МЕТОДЫ НАХОДЯТСЯ ВНУТРИ КЛАССА ---
    def set_surname(self, surname):
        self.surname = surname

    def set_name(self, name):
        self.name = name

    def set_patronymic(self, patronymic):
        self.patronymic = patronymic

    def set_birth_date(self, birth_date):
        self.birth_date = birth_date

    def set_address(self, address):
        self.address = address

    def set_avg_score(self, avg_score): # <--- Этот метод теперь виден!
        self.avg_score = avg_score

    def set_faculty(self, faculty):
        self.faculty = faculty

    def set_course(self, course):
        self.course = course

    def show(self):
        print(f"Студент: {self.surname} {self.name} {self.patronymic}")
        print(f"Дата рождения: {self.birth_date}")
        print(f"Адрес: {self.address}")
        print(f"Факультет: {self.faculty}")
        print(f"Курс: {self.course}")

    def get_performance(self):
        if self.avg_score < 3.0:
            return "Двоечник"
        elif 3.0 <= self.avg_score < 4.0:
            return "Троечник"
        elif 4.0 <= self.avg_score < 5.0:
            return "Хорошист"
        elif self.avg_score == 5.0:
            return "Отличник"

if __name__ == "__main__":
    student1 = Student(
        surname="Иванов",
        name="Иван",
        patronymic="Иванович",
        birth_date="15.05.2002",
        address="Москва, ул. Ленина, д. 10",
        avg_score=4.7,
        faculty="Физический",
        course=3
    )
    student1.show()

    # Добавлены скобки для вызова метода
    print(f"Успеваемость: {student1.get_performance()}")

    student1.set_avg_score(3.2)
    print("\nПосле изменения балла:")
    student1.show()
    print(f"Успеваемость: {student1.get_performance()}")