не печатается результат
Есть задание
Создать 2 класса truck и car, которые являются наследниками класса auto
Класс truck имеет:
- Дополнительный обязательный атрибут
max_load. - Переопределённый метод
move, перед появлением надписи«move»выводит надпись«attention», его реализацию сделать при помощи оператораsuper. - А так же дополнительный метод
load. При его вызове происходит пауза 1 сек., затем выдаётся сообщение«load»и снова пауза 1 сек.
Класс car имеет
- дополнительный обязательный атрибут
max_speedи при вызове методаmove, после появления надписи«move»должна появиться надпись«max speed is <max_speed>».
Вместо<max_speed>должно выводится значение обязательного атрибутаmax_speed.
Создать по 2 объекта для каждого из классов truck и car, проверить все их методы и атрибуты.
class auto:
brand = 'audi'
age = 5
color = 'red'
mark = 'a8'
weight = 5000
def __init__(self, brand, age, mark):
self.brand = brand
self.age = age
self.mark = mark
def move(self):
print(self.brand, self.mark, 'move')
def birthday(self):
self.age +=1
print(self.age)
def stop(self):
print(self.brand, self.mark, 'stop')
class truck(auto):
max_load = 3000
def __init__(self, max_load = 2000):
self.max_load = max_load
super().__init__('attention', self.move(), self.stop())
a = truck
a.truck(auto)
Ответы (1 шт):
Автор решения: Алексей Р
→ Ссылка
В общих чертах как-то так. Метод load() сделайте сами
class Auto:
def __init__(self, brand, age, mark):
self.brand = brand
self.age = age
self.mark = mark
def move(self):
print(self.brand, self.mark, 'move')
class Truck(Auto):
def __init__(self, brand, age, mark, max_load=2000):
super().__init__(brand, age, mark)
self.max_load = max_load
def move(self):
print('attention')
super().move()
class Car(Auto):
def __init__(self, brand, age, mark, max_speed=300):
super().__init__(brand, age, mark)
self.max_speed = max_speed
def move(self):
super().move()
print(f'max speed is{self.max_speed}')
truck = Truck('SCANIA', 10, '"s 770"')
truck.move()
car = Car('VW', 3, 'Touran', 320)
car.move()