Hedwika / python-012021

Homework - Python 2021 Czechitas course
0 stars 0 forks source link

Domácí úkoly: Lekce 3 - OOP a data #3

Closed Hedwika closed 3 years ago

Hedwika commented 3 years ago

Ahoj Jirko,

posílám ti domácí úkoly a předem děkuji za kontrolu.

Vše je otestované a funkční, ale ráda bych se tě na něco zeptala:


12) Zákazník zadává, které auto chce půjčit a já mám rozhodování takto: pujceni = input("Jakou značku si přejete půjčit? Zadejte prosím ‘Peugeot‘ nebo ‘Skoda‘: ") if pujceni == "Peugeot" or pujceni == "peugeot": print(peugeot.get_info()) print(peugeot.pujc_auto()) elif pujceni == "Skoda" or pujceni == "skoda": print(skoda.get_info()) print(skoda.pujc_auto()) else: print(f"Znacku {pujceni} v nabídce (zatím) nemáme.") Chtěla bych to zjednodušit tak, abych nemusela opakovat print(peugeot(get_info() / print(skoda(get_info(). Jde místo "skoda" / "peugeot" nějak zkontrolovat, zda takové auto máme a následně rovnou vložit, co zákazník zadá, například nějak takto? print(pujceni.get_info()) PyCharm mi samozřejmě vyhazuje chybu, ale říkám si, zda by to nešlo nějak zjednodušit... :)

14) Jsem OSVČ, tak se v hrubá / čistá mzda nevyznám, ale zjistila jsem, že u nízkých platů našich konstruktérů by při vyšším počtu dětí mohla jít daň do mínusu a tím čistá mzda převýšit hrubou, což si říkám, že asi bude nesmysl. Proto ta úprava s nulovou daní, pokud vychází záporná, což doufám bude i praxe. :)

15) Je to jen detail, ale mám pocit, že se tam motají dvě úlohy najednou - jednou letní kino, podruhé středisko, jedna věta se tam opakuje (zeptej se na počet osob). Já jsem se tedy držela letního kina. :)

Moc děkuji za opravu a přeji krásný víkend Hedvika

pesikj commented 3 years ago

Ahoj Hedviko,

Příklad 11

Super :-)

Příklad 12

To, co hledáš, je slovník. Auta si nemusíš ukládat do proměnných, ale do slovníku, kde klíčem je značka automobilu. Pak už postupuješ jako v předchozích lekcích, tj. zkontroluješ, jestli je tato značka (klíč) k dispozici a pokud ano, tak si správné auto vložíš do proměnné a pracuješ s ním. Pokud tam značka jako klíč není, tak vypíšeš chybu.


auta = {
  "peugeot": Auto("4A2 3020", "Peugeot 403 Cabrio", 47534),
  "skoda": Auto("1P3 4747", "Škoda Octavia", 41253)
}

for i in range(2):
  pujceni = input("Jakou značku si přejete půjčit? Zadejte prosím ‘Peugeot‘ nebo ‘Škoda‘: ").lower()
  if pujceni in auta:
    vybrane_auto = auta[pujceni]
    print(vybrane_auto.get_info())
    print(vybrane_auto.pujc_auto())
  else:
    print(f"Znacku {pujceni} v nabídce (zatím) nemáme.")

Ještě jsem přidal zrychlení pomocí cyklu for. Ten je popsaný v bonusových materiálech zde. :-)

Ale slovník jsem po vás nechtěl a ani jsem ho nečekal, takže to máš naprogramované správně :-)

Příklad 13

Taky super, jen v té druhé podmínce máš místo Peugeota v řádku Škodu :-)

Příklad 14

Záporná daň je skutečně možná, konkrétně se tomu říká daňový bonus. Na ten mají nárok lidé s nižšími příjmy a vyšším počtem dětí, popravdě nevím, jestli se to vztahuje jen na zaměstnance, nebo i na OSVČ. Když si do mzdové kalkulačky zadáš třeba hrubou mzdu 20 000 a 5 dětí, tak ti vyjde čistá mzda 26 055 Kč :-)

Příklad 15

Taky super :-)

Text jsem v zadání opravil. Máš pravdu, nejdříve jsem chtěl úlohu na rekreační středisko, ale tam je možná komplikace, že by někdo přijel na kraji těch termínů a část nocí by měl za vyšší cenu a část za nižší a to už by bylo moc složité. A protože středisko, kde můžeš spát jen jednu noc, nedává smysl, tak jsem to změnil na kino, ale nedůsledně :-)

Shrnutí

Děkuji za zajímavé dotazy i za skvěle zpracované úlohy a dávám 5 bodů :-)