trasa.py
stwórz klasę Trasa
, która:
__iter__
tak, aby umożliwić iterację po odcinkach, np.trasa = Trasa()
trasa.add(10, 5)
trasa.add(20, 3)
for s, t in trasa:
print(f"Dystans = {s}, czas = {t}")
wydrukuje:
Dystans = 10, czas = 5
Dystans = 20, czas = 3
pojazd.py
stwórz klasę Pojazd
, która:
__init__
z domyślną wartością 0
)__init__
)Trasa
)jedz
, która przyjumje jeden argument (czas), liczy przebytą drogę (zakładając ruch jednostajny) oraz aktualizuje trasęprzyspieszaj
, która przyjmuje jeden argument (czas), liczy przebytą drogę (zakładając ruch jednostajnie przyspieszony) oraz aktualizuje trasę i prędkośćsamochod.py
stwórz klasę Samochod
, która dziedziczy z klasy Pojazd
oraz:
__init__
)__init__
) - należy przyjąć stałe spalaniejedz
/ przyspieszaj
, które wywołują powyższą metodę oraz metodę jedz
/ przyspieszaj
z klasy bazowejjedz
/ przyspieszaj
, jeśli brakuje paliwa na pokonanie odpowiedniego dystansu (wsk. metody jedz
/ przyspieszaj
w klasie Pojazd
mogą oprócz aktualizowania trasy zwracać obliczoną drogę)hulajnoga.py
stwórz klasę Hulajnoga
, która dziedziczy z klasy Pojazd
oraz:
__init__
)Drukuj
powinna wywoływać metodę z ostatniego podpunktu do klasy Pojazd