Далее вводится n строк в формате: «Название класса: Имя», например «Student: Иванов Иван» или «Teacher: Сергеев Сергей Сергеевич». Необходимо создать объекты указанных классов с указанным именем и добавить их в список. После этого выведи сам список объектов, для этого переопредели соответствующий метод, чтобы элементы списка выводились в формате: «{class}({name})», например, «Student(Иванов Иван)» и затем для каждого объекта списка выведи результат метода get_action() на разных строках.
python
class Student:
def __init__(self, name):
self.name = name
def get_action(self):
return "Study"
def __str__(self):
return f"Student({self.name})"
class Teacher:
def __init__(self, name):
self.name = name
def get_action(self):
return "Teach"
def __str__(self):
return f"Teacher({self.name})"
objects = []
n = int(input()) # Считываем число n
for _ in range(n):
line = input() # Считываем строку в формате "Название класса: Имя"
class_name, name = line.split(": ") # Разделяем строку на название класса и имя
if class_name == "Student":
obj = Student(name) # Создаем объект класса Student
elif class_name == "Teacher":
obj = Teacher(name) # Создаем объект класса Teacher
objects.append(obj) # Добавляем объект в список
# Выводим список объектов
for obj in objects:
print(obj)
# Выводим результат метода get_action() для каждого объекта
for obj in objects:
print(obj.get_action())
Пример ввода:
4
Student: Иванов Иван
Teacher: Сергеев Сергей Сергеевич
Student: Петров Петр
Teacher: Иванова Елена
Пример вывода:
Student(Иванов Иван)
Teacher(Сергеев Сергей Сергеевич)
Student(Петров Петр)
Teacher(Иванова Елена)
Study
Teach
Study
Teach
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет