forked from ZF-1000/04_Osnovy_yazyka_Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DZ_06_task_04.py
62 lines (43 loc) · 2.05 KB
/
DZ_06_task_04.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
"""Опишите несколько классов: TownCar, SportCar, WorkCar, PoliceCar. У каждого класса
должны быть следующие атрибуты: speed, color, name, is_police (булево). А также несколько
методов: go, stop, turn(direction), которые должны сообщать, что машина поехала,
остановилась, повернула (куда)."""
class Vehicle:
def __init__(self, speed, color, name, is_police):
self.speed = speed
self.color = color
self.name = name
self.is_police = is_police
def police(self):
if self.is_police:
return 'Полицейская машина'
else:
return 'Гражданская машина'
def full_info(self):
return " {} {} Максимальная скорость {} км/ч ".format(self.color, self.name, str(self.speed))
def go(self):
return "Машина поехала"
def stop(self):
return"Машина остановилась"
def turn(self):
return"Машина повернула"
class TownCar(Vehicle):
def __init__(self, speed, color, name, is_police):
super().__init__(speed, color, name, is_police)
class SportCar(Vehicle):
def __init__(self, speed, color, name, is_police):
super().__init__(speed, color, name, is_police)
class WorkCar(Vehicle):
def __init__(self, speed, color, name, is_police):
super().__init__(speed, color, name, is_police)
class PoliceCar(Vehicle):
def __init__(self, speed, color, name, is_police):
super().__init__(speed, color, name, is_police)
t_c = TownCar(160, "Black", "Vesta", False)
print(t_c.police() + t_c.full_info() + t_c.turn())
s_c = SportCar(250, "Red", "Audi", False)
print(s_c.police() + s_c.full_info() + s_c.go())
w_c = WorkCar(50, "Brown", "UAZ", False)
print(w_c.police() + w_c.full_info() + w_c.stop())
p_c = PoliceCar(400, "White", "Bugatti", True)
print(p_c.police() + p_c.full_info() + p_c.go())