-
Notifications
You must be signed in to change notification settings - Fork 20
/
ООП_взаимодействие_между_людьми.py
67 lines (55 loc) · 3.34 KB
/
ООП_взаимодействие_между_людьми.py
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
class Human:
def __init__(self, name):
self.name = name
# ответ по умолчанию для всех одинаковый, можно
# доверить его родительскому классу
def answer_question(self, question):
print('Очень интересный вопрос! Не знаю.')
class Student(Human):
# метод ask_question() принимает параметр someone:
# это объект, экземпляр класса Curator, Mentor или CodeReviewer,
# которому Student задаёт вопрос;
# параметр question — это просто строка
# имя объекта и текст вопроса задаются при вызове метода ask_question
def ask_question(self, someone, question):
# напечатайте на экран вопрос в нужном формате
print(f'{someone.name}, {question}')
# запросите ответ на вопрос у someone
someone.answer_question(question)
print() # этот print выводит разделительную пустую строку
class Curator(Human):
def answer_question(self, question):
# здесь нужно проверить, пришёл куратору знакомый вопрос или нет
# если да - ответить на него
# если нет - вызвать метод answer_question() у родительского класса
if question == 'мне грустненько, что делать?':
print(f'Держись, всё получится. Хочешь видео с котиками?')
else:
super().answer_question(question)
# объявите и реализуйте классы CodeReviewer и Mentor
class CodeReviewer(Human):
def answer_question(self, question):
if question == 'что не так с моим проектом?':
print('О, вопрос про проект, это я люблю.')
else:
super().answer_question(question)
class Mentor(Human):
def answer_question(self, question):
if question == 'как устроиться работать питонистом?':
print('Сейчас расскажу. ')
elif question == 'мне грустненько, что делать?':
print('Отдохни и возвращайся с вопросами по теории.')
else:
super().answer_question(question)
# следующий код менять не нужно, он работает, мы проверяли
student1 = Student('Тимофей')
curator = Curator('Марина')
mentor = Mentor('Ира')
reviewer = CodeReviewer('Евгений')
friend = Human('Виталя')
student1.ask_question(curator, 'мне грустненько, что делать?')
student1.ask_question(mentor, 'мне грустненько, что делать?')
student1.ask_question(reviewer, 'когда каникулы?')
student1.ask_question(reviewer, 'что не так с моим проектом?')
student1.ask_question(friend, 'как устроиться на работу питонистом?')
student1.ask_question(mentor, 'как устроиться работать питонистом?')