|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
||||||
Наследование, полиморфизм, атрибуты классов25.11.2022, 10:54. Показов 7800. Ответов 35
Метки нет (Все метки)
Помогите в решении задачи
Добавлено через 50 секунд Задание № 1. Наследование Исходя из квиза к предыдущему занятию, у нас уже есть класс преподавателей и класс студентов (вы можете взять этот код за основу или написать свой). Студентов пока оставим без изменения, а вот преподаватели бывают разные, поэтому теперь класс Mentor должен стать родительским классом, а от него нужно реализовать наследование классов Lecturer (лекторы) и Reviewer (эксперты, проверяющие домашние задания). Очевидно, имя, фамилия и список закрепленных курсов логично реализовать на уровне родительского класса. А чем же будут специфичны дочерние классы? Об этом в следующих заданиях. Задание № 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 экземпляра каждого класса, вызовите все созданные методы, а также реализуйте две функции: для подсчета средней оценки за домашние задания по всем студентам в рамках конкретного курса (в качестве аргументов принимаем список студентов и название курса); для подсчета средней оценки за лекции всех лекторов в рамках курса (в качестве аргумента принимаем список лекторов и название курса). Добавлено через 5 минут
Лучше если по ссылке там все нормально с синтаксисом https://replit.com/@nikolaivinnitsk/DZ-1#main.py Добавлено через 57 секунд Странно что на форум копирую со всеми отступами как положено а на форуме по факту выдает без отступов.!
0
|
||||||
| 25.11.2022, 10:54 | |
|
Ответы с готовыми решениями:
35
Наследование классов
Наследование классов(Сириус) |
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
|
| 28.11.2022, 15:56 | |
|
подавайте требуемое количество аргументов. но ваш код у меня уже на 14 строке выдал ошибку не говоря уже 206
for k in self.grades.values(): AttributeError: 'int' object has no attribute 'values' почему то словарь self.grades стал числом.
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
||||||
| 28.11.2022, 15:59 [ТС] | ||||||
|
Semen-Semenich, В 206 строку внес аргумент 'grades_st_list' ничего не изменилось щас я 14 уже исправил строку я загружу исправленный код
Добавлено через 2 минуты
0
|
||||||
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
||||||||||||
| 28.11.2022, 16:05 | ||||||||||||
|
206 print(f"Средняя оценка для всех студентов по курсу {'Python'}: {student_rating(student_list, 'Python')}") Добавлено через 1 минуту уберите в 190 строке этот аргумент. вы его не используете.
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
||||||
| 28.11.2022, 16:07 [ТС] | ||||||
0
|
||||||
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
|
| 28.11.2022, 16:08 | |
|
можно еще месяц исправлять ошибки если неизвестно с чего все начиналось.
лучше опишите что предыдущем занятии должны получать на вход класс преподавателей и класс студентов и какие методы должны быть у каждого. потом пойдем по порядку
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
||||||
| 28.11.2022, 16:19 [ТС] | ||||||
|
Semen-Semenich, В 206 строку внес grades_st_list,а в 190 строке убрал grades_st_list.И все равно ошибка таже...
Добавлено через 2 минуты
0
|
||||||
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
||||
| 28.11.2022, 16:31 | ||||
если ты там убрал то зачем в другом добавил??? что то мне кажется все уже покинули этот бессмысленный пост. что мне дает ваш код выше
Добавлено через 1 минуту
0
|
||||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 28.11.2022, 16:38 | ||
|
Не по теме:
Глядя на эти мытарства, я уж было собрался написать код в конце-то концов. Но перечитал условия и передумал. Многабукофф, лень.
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
|
| 28.11.2022, 16:41 [ТС] | |
|
Добавлено через 56 секунд
iSmokeJC, Можите по простому пути написать самое простое? Добавлено через 1 минуту Мне продлили до 7 декабря ДЗ...Но у меня с этим ДЗ ничего не выходит.
0
|
|
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
|||||||
| 28.11.2022, 16:41 | |||||||
а еще откуда студент должен знать про лектора???
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
||||||
| 28.11.2022, 16:51 [ТС] | ||||||
|
Semen-Semenich, Вот это одно задание вытекающее в такой код -Задание № 1. Наследование
Исходя из квиза к предыдущему занятию, у нас уже есть класс преподавателей и класс студентов (вы можете взять этот код за основу или написать свой). Студентов пока оставим без изменения, а вот преподаватели бывают разные, поэтому теперь класс Mentor должен стать родительским классом, а от него нужно реализовать наследование классов Lecturer (лекторы) и Reviewer (эксперты, проверяющие домашние задания). Очевидно, имя, фамилия и список закрепленных курсов логично реализовать на уровне родительского класса. А чем же будут специфичны дочерние классы? Об этом в следующих заданиях. Задание № 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 экземпляра каждого класса, вызовите все созданные методы, а также реализуйте две функции: для подсчета средней оценки за домашние задания по всем студентам в рамках конкретного курса (в качестве аргументов принимаем список студентов и название курса); для подсчета средней оценки за лекции всех лекторов в рамках курса (в качестве аргумента принимаем список лекторов и название курса). Добавлено через 3 минуты Semen-Semenich, а это пред история ДЗ
Добавлено через 4 минуты Semen-Semenich, Скажите пожалуйста вы можите помочь в написании программы с нуля и правильно?Может быть как то решить эот вопрос!
0
|
||||||
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
|||
| 28.11.2022, 17:12 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
|
| 28.11.2022, 19:35 [ТС] | |
|
секундочку,можно попробовать вот так вот-
По этой ссылке пожалуйста перейдите и вы все поймете! Добавлено через 3 минуты https://github.com/netology-co... /6.classes Добавлено через 2 минуты Semen-Semenich, Я скинул ссылку на ДЗ и там есть еще одна ссылка нажав на класс преподавателей и класс студентов они выделены синим цветом. Это полностью ДЗ которое дали мне для решения!Ух если его сделать то.... Добавлено через 2 часа 1 минуту Semen-Semenich, Это достаточная информация?
0
|
|
|
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
|
|
| 29.11.2022, 18:57 | |
|
достаточно но очень запутанно и не понятно. то есть примеры кодов даны для первого задания но теперь их нужно изменять. '''выставлять студентам оценки за домашние задания. Теперь это могут делать только Reviewer (реализуйте такой метод)! А что могут делать лекторы? Получать оценки за лекции от студентов :''' тут ломается весь принцип ООП. классы ничего не должны знать друг о друге. откуда студент должен знать что оценки имеет право ставить только Reviewer тем более студент не имеет к нему никакого отношения. может я ошибаюсь и кто то более опытный скажет что это не так. но пока я в ступоре
0
|
|
|
Автоматизируй это!
|
|
| 29.11.2022, 19:09 | |
|
да, стр там приведен пример плохой, не понятно кого мы распечатали -студента, лектора или эксперта, приходится догадываться. Для простановки оценок видимо у эксперта должен быть метод
def set_mark(student:Student, mark:float) а у студента методы def set_lecture_mark(lecturer:Lecturer, lecture_name:str) - ибо 1 лектор может 2 курса вести и более, потому ставить оценку надо конкретной лекции и человеку. Согласен с Семёнычем что мы получаем связанность классов, но по сути тут просто зависимость от интерфейса, дактайпинг же, то есть мы ждем на вход любого кому можно проставить оценку, можно даже отдельный абстракт создать Markable и отнаследовать лектора и студента от него, но это я так, в целом рассуждаю. Думаю в нетологии ожидают именно методы выше
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2022
Сообщений: 25
|
|
| 29.11.2022, 19:29 [ТС] | |
|
Помогите если кто может решить задание!Я новичок всего лишь 2 месяца изучаю и пока что в ступоре,а время идет!
0
|
|
| 29.11.2022, 19:29 | |
|
Наследование и Полиморфизм
Инкапсуляция, наследование, полиморфизм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|