Vrať se k návrhu software pro zásilkovou společnost.
- U třídy
Package
přejmenuj metoduget_info()
na__str__()
a vyzkoušej, jestli nyní stačí k získání informací o balíku funkceprint()
. - Přidej metodu
deliver()
. Půjde o obdobu tlačítka, které řidič nebo řidička zmáčkne při doručení balíku a zaznamená tak jeho doručení. Metoda nejprve zkontroluje, zda balík náhodou již není ve stavudoručen
. Pokud ano, metoda vrátí zprávu "Balík již byl doručen". Tím bude řidič (řidička) informován(a) o tom, že se pravděpodobně spletl(a) a snaží se zaznamenat doručení u špatného balíku. Pokud balík není ve stavudoručen
, změň jeho stav právě nadoručen
a vrať zprávu "Doručení uloženo". - Vyzkoušej metodu
deliver()
. Co se stane, pokud ji u jednoho balíku zavoláš dvakrát?
Pokud nemáš vytvořenou třídu Package
z předchozí části, můžeš použít kód níže.
class Package:
def __init__(self, address, weight, state):
self.address = address
self.weight = weight
self.state = state
def delivery_price(self):
if self.weight < 10:
return 129
if self.weight < 20:
return 159
return 359
def get_info(self):
return f"Balík na adresu {self.address} má hmotnost {self.weight} kg a je ve stavu {self.state}."