Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 27.10.2022
Сообщений: 3

TypeError: __init__() missing 1 required positional argument: 'courses_attached'

27.10.2022, 15:05. Показов 866. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день. Прохожу курс для начинающих (опыта у меня нет) и при выполнение домашнего задания возникла проблема, не знаю как исправить.
Traceback (most recent call last):
File "main.py", line 71, in <module>
best_lecturer = Lecturer ('Bob','Ivanov')
TypeError: __init__() missing 1 required positional argument: 'courses_attached'


Буду благодарна, если подскажите
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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 = {}
        self.average_rating = float() 
      
    def __str__(self): 
         grades_count = 0
         courses_in_progress_string = ','.join(self.courses_in_progress)
         finished_courses_string = ','.join(self.finished_courses)
         for k in self.grades:
            grades_count += len(self.grades[k])
            self.average_rating = sum(map(sum, self.grades.values())) / grades_count
         res = f'Имя: {self.name}\n' \
              f'Фамилия: {self.surname}\n' \
              f'Средняя оценка за домашнее задание: {self.average_rating}\n' \
              f'Курсы в процессе обучения: {courses_in_progress_string}\n' \
              f'Завершенные курсы: {finished_courses_string}'
         return res
 
    def rate_hw(self, lecturer, course, grade):
       if isinstance(lecturer,Lecturer) and course in self.courses_in_prorgess and  course in lecturer.courses_attached:
          if course in lecturer.grades:
            lecturer.grades[course] += [grade]
          else:
            lecturer.grades[course] = [grade]
       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,courses_attached):
        super().__init__ (self, name, surname,courses_attached)
        self.average_rating = float()
        self.grades = {}
        self.courses_attached = []
    def __str__(self):
        grades_count = 0
        for k in self.grades:
            grades_count += len(self.grades[k])
        self.average_rating = sum(map(sum, self.grades.values())) / grades_count
        res = f'Имя: {self.name}\nФамилия: {self.surname}\nСредняя оценка за лекции: {self.average_rating}'
        return res
       
class  Reviewer(Mentor):
    def __init__(self, name, surname,courses_attached):
        super().__init__ (self, name, surname,courses_attached)
        self.average_rating = float()
        self.grades = {}
        self.courses_attached = []
    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 'Ошибка'      
 
    def __str__(self):
      res = f'Имя: {self.name}\nФамилия: {self.surname}'
      return res 
best_lecturer = Lecturer ('Bob','Ivanov')
best_lecturer.courses_attached += ['Python']
 
best_lecturer_1 = Lecturer ('Mit','Petrov')
best_lecturer_1.courses_attached += ['Python']
 
cool_reviewer_1 = Reviewer('Some', 'Buddy')
cool_reviewer_1.courses_attached += ['Python']
 
cool_reviewer = Reviewer('Bot', 'Roy')
cool_reviewer.courses_attached += ['Python']
 
best_student = Student('Ruoy', 'Eman', 'your_gender')
best_student.courses_in_progress += ['Python']
best_student.finished_courses += ['Введение в программирование']
 
best_student_1 = Student('Ivan', 'Sidorov')
best_student_1.courses_in_progress += ['Python']
best_student_1.finished_courses += ['Введение в программирование']
 
best_student.rate_hw(best_lecturer, 'Python', 10)
best_student.rate_hw(best_lecturer, 'Python', 9)
best_student.rate_hw(best_lecturer, 'Python', 8)
 
best_student_1.rate_hw(best_lecturer_1, 'Python', 7)
best_student_1.rate_hw(best_lecturer_1, 'Python', 6)
best_student_1.rate_hw(best_lecturer_1, 'Python', 5)
 
cool_reviewer.rate_hw(best_student, 'Python', 10)
cool_reviewer.rate_hw(best_student, 'Python', 9)
cool_reviewer.rate_hw(best_student, 'Python', 8)
 
cool_reviewer_1.rate_hw(best_student_1, 'Python', 10)
cool_reviewer_1.rate_hw(best_student_1, 'Python', 9)
cool_reviewer_1.rate_hw(best_student_1, 'Python', 8)
 
print(f'Перечень студентов:\n\n{best_student}\n\n{best_student_1}')
print()
print()
 
print(f'Перечень лекторов:\n\n{best_lecturer}\n\n{best_lecturer_1}')
print()
print()
 
print(f'Результат сравнения студентов (по средним оценкам за ДЗ): '
      f'{best_student.name} {best_student.surname} < {best_student_1.name} {best_student_1.surname} = {best_student > best_student_1}')
print()
 
print(f'Результат сравнения лекторов (по средним оценкам за лекции): '
      f'{best_lecturer.name} {best_lecturer.surname} < {best_lecturer_1.name} {best_lecturer_1.surname} = {best_lecturer > best_lecturer_1}')
print()
 
student_list = [best_student, best_student_1]
lecturer_list = [best_lecturer, best_lecturer_1]
 
def student_rating(student_list, course_name):
    sum_all = 0
    count_all = 0
    for stud in student_list:
       if stud.courses_in_progress == [course_name]:
            sum_all += stud.average_rating
            count_all += 1
    average_for_all = sum_all / count_all
    return average_for_all
  
def lecturer_rating(lecturer_list, course_name):  
     sum_all = 0
     count_all = 0
     for lect in lecturer_list:
        if lect.courses_attached == [course_name]:
            sum_all += lect.average_rating
            count_all += 1
     average_for_all = sum_all / count_all
     return average_for_all
 
print(f"Средняя оценка для всех студентов по курсу {'Python'}: {student_rating(student_list, 'Python')}")
print()
 
print(f"Средняя оценка для всех лекторов по курсу {'Python'}: {lecturer_rating(lecturer_list, 'Python')}")
print()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2022, 15:05
Ответы с готовыми решениями:

Ошибка TypeError: __init__() missing 3 required positional arguments: 'adress', 'phone_number', and 'grade'
Здравствуйте. Подскажите пожалуйста где ошибка. Пишет, что ошибка при создании объкта student. Но там все заполнено. class...

TypeError: rename() missing required argument 'dst' (pos 2)
Пишу простенькую (для кого-то) программу, которая будет находить папки с определенным названием из указанной директории, перемещать их в...

TypeError: __getCoordX() takes 1 positional argument but 2 were given
Подскажите, что не так с моим кодом. При его запуске вызывается ошибка : TypeError: __getCoordX() takes 1 positional argument but 2 were...

1
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
27.10.2022, 15:08
Python
1
2
3
4
5
6
class Lecturer(Mentor):
    def __init__(self, name, surname, courses_attached):
        super().__init__(name, surname)
        self.average_rating = float()
        self.grades = {}
        self.courses_attached = courses_attached or []
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2022, 15:08
Помогаю со студенческими работами здесь

TypeError: get() missing 1 required positional argument: 'index1'
я на Tkinter-е новичок. подскажите в чём ошибка, там же не нужен не какой аргумент, а если нужно - то какой? консоль: ...

TypeError: describe_battery() missing 1 required positional argument: 'self'
class Car(): &quot;&quot;&quot;Простая модель автомобиля.&quot;&quot;&quot; def __init__(self, make, model, year): self.make = make ...

TypeError: AddCar() missing 1 required positional argument: 'self'
выдает ошибку. Условно нужно, чтобы создавать обьект машины. Вот код class Car: def __init__(self, cost, mark,...

TypeError: add_point() missing 1 required positional argument: 'y'
Всем привет! Начал писать класс для создания треугольника, но почти сразу же появилась загвоздка: при запуске кода появляется ошибка: ...

TypeError: send_for_number() missing 1 required positional argument: 'message'
def start_spam(chat_id, phone_number, force): running_spams_per_chat_id.append(chat_id) keyboard = types.InlineKeyboardMarkup()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru