diff --git a/09-objekty/trida.py b/09-objekty/trida.py index 608f1576c3b7e7231d5829396355dea0c07923ed..196f627e42380d1c4f652a2e7f4bf4ffbb605bcb 100644 --- a/09-objekty/trida.py +++ b/09-objekty/trida.py @@ -1,13 +1,14 @@ class Zvire: """Vytvoří zvíře s danými vlastnostmi.""" - def __init__(self, jmeno, zvuk): + def __init__(self, jmeno, zvuk, pozice="doma"): self.jmeno = jmeno self.zvuk = zvuk + self.pozice = pozice def slysi_na(self, jmeno): """Slyší zvíře na dané jméno?""" - return self.jmeno == jmeno + return (self.jmeno == jmeno or jmeno == "potvůrka") and self.pozice == "doma" def ozvi_se(self): """Vydá zvuk daného zvířete.""" @@ -33,3 +34,18 @@ class Kocka(Zvire): def slysi_na(self, jmeno): # Copak kočka slyší na jméno? return False + +class Pes(Zvire): + """Vytvoří psa s danými vlastnostmi.""" + + def __init__(self, jmeno, zvuk): + Zvire.__init__(self, jmeno, zvuk) + self.pocet_zvuku = 0 + + def ozvi_se(self): + """Vydá zvuk daného zvířete.""" + self.pocet_zvuku += 1 + if self.pocet_zvuku % 2 == 0: + print(self.jmeno, "říká:", self.zvuk) + else: + print(self.jmeno, "říká: vrrrrrr" + "R"*self.pocet_zvuku) diff --git a/TODO b/TODO index af62d8820a7e5ba0fc7eb562bc0f6de0698a4cb0..4642b99ae5712067d9ad3fceee032095a88aa78d 100644 --- a/TODO +++ b/TODO @@ -7,6 +7,9 @@ studenti to mají tendenci používat všude. Zkusit nejdřív ukázat víc příkladů s přirozenými podmínkami. +- Soubory: + - mezi kódováními znaků zmínit i mac_latin2? + - Jazyk: - and/or se vyhodnocuje zkráceně - dataclass