/
ksm44
/
hw_python
Обзор
Документация
Войти
/
ksm44
/
hw_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task2.py
65 строк
2 KB
Sergey Vershinin
Add files with solving of home works
17 май 2026, 23:28
17 май 2026, 23:28
b84738e
Код
Авторство
О чём код?
class Student: def __init__(self, name, surname, gender): self.name = name self.surname = surname self.gender = gender self.finished_courses = [] self.courses_in_progress = [] self.grades = {} def rate_lecture(self, lecturer, course, grade): if isinstance(lecturer, Lecturer) and course in lecturer.courses_attached and (course in self.courses_in_progress or course in self.finished_courses) and grade in range(1,11): if course in lecturer.grades: lecturer.grades[course] += [grade] else: lecturer.grades[course] = [grade] return None else: return 'Ошибка' class Mentor: def __init__(self, name, surname): self.name = name self.surname = surname self.courses_attached = [] #лекторы #должны получать оценки за лекции от студентов class Lecturer(Mentor): def __init__(self, name, surname): super().__init__(name, surname) self.grades = {} self.courses_attached = [] #эксперты, проверяющие домашние задания #возможность выставлять студентам оценки за домашние задания ТОЛЬКО у них class Reviewer(Mentor): def __init__(self, name, surname): super().__init__(name, surname) def rate_hw(self, student, course, grade): if isinstance(student, Student) and course in self.courses_attached and course in student.courses_in_progress: if course in student.grades: student.grades[course] += [grade] else: student.grades[course] = [grade] else: return 'Ошибка' lecturer = Lecturer('Иван', 'Иванов') reviewer = Reviewer('Пётр', 'Петров') student = Student('Алёхина', 'Ольга', 'Ж') student.courses_in_progress += ['Python', 'Java'] lecturer.courses_attached += ['Python', 'C++'] reviewer.courses_attached += ['Python', 'C++'] print(student.rate_lecture(lecturer, 'Python', 7)) # None print(student.rate_lecture(lecturer, 'Java', 8)) # Ошибка print(student.rate_lecture(lecturer, 'С++', 8)) # Ошибка print(student.rate_lecture(reviewer, 'Python', 6)) # Ошибка print(lecturer.grades) # {'Python': [7]}