Форум сайта python.su
Задание № 2. Атрибуты и взаимодействие классов.
В квизе к предыдущей лекции мы реализовали возможность выставлять студентам оценки за домашние задания. Теперь это могут делать только Reviewer (реализуйте такой метод)! А что могут делать лекторы? Получать оценки за лекции от студентов Реализуйте метод выставления оценок лекторам у класса Student (оценки по 10-балльной шкале, хранятся в атрибуте-словаре у Lecturer, в котором ключи – названия курсов, а значения – списки оценок). Лектор при этом должен быть закреплен за тем курсом, на который записан студент.
Задание № 3. Полиморфизм и магические методы
Перегрузите магический метод __str__ у всех классов.
У проверяющих он должен выводить информацию в следующем виде:
print(some_reviewer)
Имя: Some
Фамилия: Buddy
У лекторов:
print(some_lecturer)
Имя: Some
Фамилия: Buddy
Средняя оценка за лекции: 9.9
А у студентов так:
print(some_student)
Имя: Ruoy
Фамилия: Eman
Средняя оценка за домашние задания: 9.9
Курсы в процессе изучения: Python, Git
Завершенные курсы: Введение в программирование
Реализуйте возможность сравнивать (через операторы сравнения) между собой лекторов по средней оценке за лекции и студентов по средней оценке за домашние задания.
Задание № 4. Полевые испытания
Создайте по 2 экземпляра каждого класса, вызовите все созданные методы, а также реализуйте две функции:
для подсчета средней оценки за домашние задания по всем студентам в рамках конкретного курса (в качестве аргументов принимаем список студентов и название курса);
для подсчета средней оценки за лекции всех лекторов в рамках курса (в качестве аргумента принимаем список лекторов и название курса).
Вот что уже написал:
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 add_courses(course_name):
self.finished_course.append(course_name)
class Mentor:
def __init__(self, name, surname):
self.name = name
self.surname = surname
self.courses_attached =
class Lecturer (Mentor):
def __init__(self, name, surname):
self.name = name
self.surname = surname
self.courses_attached =
class Reviewer (Mentor):
def __init__(self, name, surname):
self.name = name
self.surname = surname
self.courses_attached =
self.grades = {}
def grades(self, Student, course, grades):
self.grades = grades
if isinstance(Student) and course in self.courses_attached and course in student.courses_in_progress:
if course in student.grades:
Student.grades +=
else:
Student.grades =
else:
return ‘Ошибка’
Офлайн
80$
Офлайн
ZerGя учусь а ты уже просишь денег
80$
Офлайн
VovusjaУчишься ждать пока твою работу за тебя сделает кто-то другой бесплатно?
Офлайн