2.3.1 Cvičné úlohy pre MicroPython

Jednoduché úlohy s premennými a textami
Úloha 1: Žonglérska matematika don Bosca
Kontext: Don Bosco chce v oratóriu ohúriť chlapcov žonglovaním. Má v košíku určitý počet loptičiek. Potrebuje však vedieť, či mu nejaké zostanú, ak ich spravodlivo rozdelí medzi svojich pomocníkov.
Zadanie:
-
Vytvor konštanty pre počet loptičiek (napr. 23) a pre počet chlapcov (napr. 5).
-
Vypočítaj a vypíš, koľko loptičiek dostane každý chlapec.
-
Vypočítaj a vypíš, koľko loptičiek zostane don Boscovi.
-
Pomocou mocniny vypočítaj, koľko loptičiek by mal don Bosco, keby mal „zázračný košík“, ktorý počet loptičiek umocní na druhú.
Strážny anjel (riešenie)
lopticky = const(23)
chlapci = const(5)
na_jedneho = lopticky // chlapci
zostalo = lopticky % chlapci
zazrak = lopticky ** 2
print(f"Každý chlapec dostane {na_jedneho} loptičiek.")
print(f"Don Boscovi zostalo v košíku {zostalo} loptičiek.")
print(f"Keby sa stal zázrak, mal by až {zazrak} loptičiek!")
Úloha 2: Apoštol dňa
Kontext: V saleziánskom stredisku chceme každé ráno vybrať jedného apoštola ako patróna dňa. Aby to bolo spravodlivé, necháme to na algoritmus.
Zadanie:
-
Vytvor zoznam apoštolov, ktorý obsahuje mená: Peter, Pavol, Jakub, Ján a Ondrej.
-
Náhodne vyber jedného apoštola.
-
Vypíš správu v tvare: „Dnešným patrónom je: MENO“, pričom meno musí byť veľkými písmenami.
-
Zisti a vypíš dĺžku mena vybraného apoštola.
Strážny anjel (riešenie)
from random import choice
# mená bez diakritiky kvôli obmedzeniu MicroPythonu
apostoli = ["Peter", "Pavol", "Jakub", "Jan", "Ondrej"]
vybrany = choice(apostoli)
print("Dnešným patrónom je:", vybrany.upper())
dlzka = len(vybrany)
if dlzka < 5: slovo = "písmená"
else: slovo = "písmen"
print(f"Jeho meno má {dlzka} {slovo}.")
Úloha 3: Trpezlivosť sv. Františka Saleského
Kontext: Svätý František Saleský (patrón saleziánov) bol známy svojou miernosťou. Povedal: „Jedna kvapka medu pritiahne viac múch než celý sud octu.“ Skúsme si jeho miernosť nacvičiť krátkym meditačným časovačom.
Zadanie:
- Program vypíše: „Miernosť je sila. Nádych...“
- Program počká presne 2,5 sekundy.
- Program vypíše: „...a výdych. Buďte dobrí ako don Bosco.“
- Zmeraj a vypíš, koľko milisekúnd reálne ubehlo medzi nádychom a výdychom.
Strážny anjel (riešenie)
from time import sleep, ticks_ms, ticks_diff
print("Miernosť je sila. Nádych...")
start = ticks_ms()
sleep(2.5)
print("...a výdych. Buďte dobrí ako don Bosco.")
koniec = ticks_ms()
trvanie = ticks_diff(koniec, start)
print(f"\nTvoja meditácia trvala presne {trvanie} ms.")
Úloha 4: Noemov popletený zoznam
Kontext: Noe si zaznamenal zoznam zvierat na archu, ale v tom zhone pred potopou to napísal dosť neporiadne. Potrebujeme ten text vyčistiť.
Zadanie:
- Máš záznam s textom „ hOLub, HavrAn, tiGer, srnkA “.
- Očisti text o biele znaky (medzery) na začiatku a konci.
- Preveď celý text na malé písmená.
- Nahraď všetky výskyty slova srnka slovom antilopa.
- Rozdeľ tento text na zoznam jednotlivých zvierat (podľa čiarky) a vypíš ho.
Strážny anjel (riešenie)
zaznam = " hOLub, HavrAn, tiGer, srnkA "
# 1. odstránenie medzier na krajoch
cisty = zaznam.strip()
# 2. prevod na malé písmená (funguje len pre ASCII bez diakritiky)
maly = cisty.lower()
# 3. nahradenie zvieraťa
opraveny = maly.replace("srnka", "antilopa")
# 4. rozdelenie na zoznam (list)
zoznam_zvierat = opraveny.split(", ")
print("Noe, tu je tvoj vyčistený zoznam:", zoznam_zvierat)
print("A viem ho vytvoriť aj na jeden krok:", end = " ")
print(zaznam.strip().lower().replace("zebra", "antilopa").split(", "))
Úloha 5: Unikátny kód oratória
Kontext: Chceme, aby sa každý mikrokontrolér v našom stredisku DOMKA vedel identifikovať unikátnym menom. Aby sme mali istotu, že každý bude mať iné meno, použijeme posledných 6 znakov z ID zariadenia.
Zadanie:
-
Získaj unikátne ID zariadenia.
-
Preveď toto binárne ID na čitateľný text (reťazec) v šestnástkovej sústave.
-
Z tohto textu získaj posledných 6 znakov.
-
Vytvor výsledné meno tak, že pred tieto znaky pridáš predponu „DOMKA-“.
-
Vypíš výsledok v tvare: „Moje meno je: DOMKA-1a2b3c“
Strážny anjel (riešenie)
from machine import unique_id
from binascii import hexlify
# 1. získanie surového ID (bytes)
raw_id = unique_id()
# 2. prevod na hexadecimálny reťazec (string)
hex_id = hexlify(raw_id).decode()
# 3. získanie posledných 6 znakov a pridanie predpony DOMKA
meno_zariadenia = "DOMKA-" + hex_id[-6:]
print("Moje meno je:", meno_zariadenia)
print("A jedným ťahom to je:", "DOMKA-" + hexlify(unique_id()).decode()[-6:])
Úlohy s podmienkami, cyklami a poľom údajov
Úloha 6: Spravodlivý hospodár
Kontext: V záhrade sa urodilo určité množstvo fíg. Don Bosco ich chce rozdeliť medzi chlapcov tak, aby každý dostal aspoň jednu. Ak je fíg málo, don Bosco sa svojej porcie vzdá.
Zadanie:
- Zo vstupu načítaj počet fíg a počet chlapcov.
- Ak je fíg viac ako chlapcov, vypíš: „Dnes máme hojnosť, vyjde každému!“
- Ak je fíg presne toľko ako chlapcov, vypíš: „Ujde sa každému chlapcovi, ale don Bosco bude dnes o hlade.“
- Ak je fíg menej ako chlapcov, vypíš: „Budeme sa musieť podeliť, nie je dosť pre všetkých.“
Strážny anjel (riešenie)
pocet_fig = input("počet fíg: ")
pocet_chlapcov = input("počet chlapcov: ")
if pocet_fig > pocet_chlapcov:
print("Dnes máme hojnosť, vyjde každému!")
elif pocet_fig == pocet_chlapcov:
print("Ujde sa každému chlapcovi, ale don Bosco bude dnes o hlade.")
else:
print("Budeme sa musieť podeliť, nie je dosť pre všetkých.")
Úloha 7: Jozefova dielňa
Kontext: Svätý Jozef pripravuje náradie v dielni. Má zoznam vecí, ktoré potrebuje na opravu stola, ale musí skontrolovať, či mu niečo nechýba.
Zadanie:
- Vytvor zoznam náradia, ktorý obsahuje: kladivo, píla, dláto, meter.
- Pomocou cyklu prejdi celý zoznam a vypíš každé náradie v tvare: „Jozef berie do ruky: náradie“
- Ak narazíš na položku „píla“, vypíš k nej extra správu: „(Pozor, je ostrá!)“
Strážny anjel (riešenie)
naradie = ("kladivo", "píla", "dláto", "meter")
for n in naradie:
print("Jozef berie do ruky:", n)
if n == "píla":
print("(Pozor, je ostrá!)")
Úloha 8: Cesta do Betlehema
Kontext: Mária a Jozef putujú do Betlehema. Cesta je dlhá približne 150 kilometrov. Každým dňom prejdú približne 20 km cesty, až kým nedorazia do cieľa.
Zadanie:
-
Do premennej ulož celé číslo 150 ± 5 (náhodne).
-
Pomocou cyklu simuluj cestu: Kým ešte zostáva prejsť nejakú vzdialenosť, vypíš deň a koľko kilometrov zostáva.
-
Pozor na gramatiku:
-
Ak zostávajú 2, 3 alebo 4 km, vypíš: „V {?}. deň zostávajú {?} km...“
-
Pre ostatné počty vypíš: „V {?}. deň zostáva {?} km...“
-
-
Následne od tejto vzdialenosti odpočítaj 20 ± 5 km.
-
Keď prídu do cieľa, vypíš: „Mária a Jozef dorazili do Betlehema. Narodil sa Ježiško!“
Strážny anjel (riešenie)
from random import randint
vzdialenost = 150 + randint(-5, 5)
den = 1
while vzdialenost > 0:
if 2 <= vzdialenost <= 4: slovo = "zostávajú"
else: slovo = "zostáva"
print(f"V {den}. deň {slovo} {vzdialenost} km...")
vzdialenost -= 20 + randint(-5, 5)
den += 1
print("Mária a Jozef dorazili do Betlehema. Narodil sa Ježiško!")
Úloha 9: Skúška v rajskej záhrade
Kontext: Adam sa prechádza po rajskej záhrade a náhodne ochutnáva ovocie. Počas vychádzky by stihol ochutnať nanajvýš z 5 stromov. Ak počas týchto pokusov okúsi ovocie zo zakázaného stromu, bude vyhnaný. Ak vydrží všetky pokusy bez hriechu, obstál v skúške.
Zadanie:
- Vygeneruj náhodný počet ochutnávok (od 1 do 5).
- Vytvor zoznam stromov s rôznym ovocím, nezabudni doň zaradiť aj „strom poznania“.
- Podľa počtu ochutnávok opakuj náhodný výber stromu zo zoznamu.
- Ak je to strom poznania, vypíš varovanie: „Beda! Adam zahryzol do zakázaného ovocia!“ a okamžite ukonči program.
- Inak vypíš: „Adam ochutnáva ovocie zo stromu {názov stromu}.“
- Ak skúšku zvládol, vypíš: „Skúška skončila. Adam odolal a zostáva v raji.“
Strážny anjel (riešenie)
from random import randint, choice
from time import sleep
pocet = randint(1, 5)
stromy = ("figovník", "olivovník", "jabloň", "strom poznania", "hruška", "granátovník")
print(f"--- Adam skúša šťastie {pocet}-krát ---")
for i in range(pocet):
sleep(1)
print(f"{i+1}. ochutnávka:", end = " ")
vybrany_strom = choice(stromy)
if vybrany_strom == "strom poznania":
print("Beda! Adam zahryzol do zakázaného ovocia!")
break
print(f"Adam ochutnáva ovocie zo stromu {vybrany_strom}.")
else:
# táto časť sa vykoná LEN vtedy, ak cyklus prebehol celý a nenarazil na break
print("Skúška skončila. Adam odolal a zostáva v raji.")
Úloha 10: Zázrak rozmnoženia
Kontext: Ježiš má na začiatku 5 chlebov. Simuluj zázrak, pri ktorom sa počet chlebov 3 až 7-krát po sebe zdvojnásobí.
Zadanie:
- Na úvod a po každom zdvojnásobení vypíš aktuálny počet chlebov.
- Po skončení celého procesu vypíš finálnu vetu o nasýtení zástupov s celkovým počtom chlebov.
Strážny anjel (riešenie)
from random import randint
from time import sleep
chleby = 5
print("Aktuálny počet chlebov:", chleby, end = "")
for _ in range(randint(3, 7)):
sleep(0.5)
print("\b" * len(str(chleby)), end = "")
chleby *= 2
print(chleby, end = "")
print(f"\nJežiš nasýtil zástupy, má až {chleby} chlebov!")
Úloha 11: Podiel na odmene
Kontext: V saleziánskom stredisku zbierajú chlapci body za dobré skutky. Na konci týždňa sa body sčítajú.
Zadanie:
- Máš zoznam bodov, ktoré získali piati chlapci: 12, 0, 8, 25, 3.
- Prejdi tento zoznam a pre každú hodnotu rozhodni:
- Ak má chlapec viac ako 10 bodov, vypíš: „{?} bodov: Skvelá práca, máš nárok na sladkú odmenu!“
- Ak má chlapec aspoň 1 bod (ale nie viac ako 10), vypíš: „{?} bodov: Pekne si sa snažil, nabudúce to bude ešte lepšie.“ - pozor však na gramatiku!
- Ak nemá chlapec žiadny bod, vypíš: „0 bodov: Nevadí, don Bosco ti verí, že zajtra začneš nanovo!“
- Na úplný záver vypíš celkový súčet všetkých bodov v stredisku.
Strážny anjel (riešenie)
body_chlapcov = (12, 0, 8, 1, 3)
celkovo = 0
for b in body_chlapcov:
celkovo += b
if b > 10:
print(b, "bodov: Skvelá práca, máš nárok na sladkú odmenu!")
elif b >= 1:
if b == 1: slovo = "bod"
elif b <= 4: slovo = "body"
else: slovo = "bodov"
print(f"{b} {slovo}: Pekne si sa snažil, nabudúce to bude ešte lepšie.")
else:
print("0 bodov: Nevadí, don Bosco ti verí, že zajtra začneš nanovo!")
print("Celkový počet bodov v stredisku:", celkovo)
Úloha 12: Špajza v Káne Galilejskej
Kontext: Svadba v Káne beží v plnom prúde a správca hodov musí sledovať, koľko čoho zostáva v špajzi, aby nedošlo k trapasu.
Zadanie:
- Vytvorte databázu údajov (slovník), v ktorom budú názvy položiek a ich počty.
- Napíšte program, ktorý sa opýta správcu, čo hľadá.
- Ak nezadá nič, skončí, inak bude pokračovať.
- Ak položka v špajzi nie je, napíše: „Bohužiaľ, toto sa už minulo.“
- Inak zo zásob odráta 1 kus a:
- Ak už nezostalo nič, napíše: „Pozor, vzal si posledný kus, treba skočiť na trh a kúpiť {názov}!“
- Ak zostáva menej ako 5 kusov, napíše: „Pozor, zostáva už len {počet} ks, treba skočiť na trh a kúpiť {názov}!“
- Inak napíše: „Zásoby sú v poriadku, zostáva ešte {počet} ks.“
- Vráti sa na otázku, čo správca hľadá.
Strážny anjel (riešenie)
spajza = {"chlieb": 7, "syr": 3, "olivy": 2, "datle": 4}
while True:
hladane = input("Čo hľadáš v špajzi? (Ak už nič, len stlač ENTER): ").lower()
if not hladane: break
if not spajza.get(hladane):
print("Bohužiaľ, toto sa už minulo.")
else:
spajza[hladane] -= 1
if spajza[hladane] == 0:
print(f"Pozor, vzal si posledný kus, treba skočiť na trh a kúpiť {hladane}!")
elif spajza[hladane] < 5:
print(f"Pozor, zostáva už len {spajza[hladane]} ks, treba skočiť na trh a kúpiť {hladane}!")
else:
print(f"Zásoby sú v poriadku, zostáva ešte {spajza[hladane]} ks.")
Úloha 13: Stratené ovce
Kontext: Dobrý pastier má zoznam s číslami svojich oviec. Pri sčítaní v ohrade si však niektoré zapísal viackrát, lebo ovce sa v behu pomiešali. Potrebuje zistiť, koľko má oviec v skutočnosti.
Zadanie:
- Máte zoznam s číslami zapísaných oviec, napr.: 1, 5, 2, 1, 10, 5, 7, 2, 99, 1.
- Vytvorte zoznam oviec bez opakovania.
- Vypočítajte, koľko bolo „duplikátov“ a vypíšte.
- Vypíšte správny zoznam oviec, s ich číslami zoradenými od najmenšieho.
Strážny anjel (riešenie)
zoznam_oviec = [1, 5, 2, 1, 10, 5, 7, 2, 99, 1]
# prevod na množinu odstráni duplikáty
mnozina_oviec = set(zoznam_oviec)
rozdiel = len(zoznam_oviec) - len(mnozina_oviec)
if rozdiel:
slovo = "oviec" if rozdiel >= 5 else "ovce" if rozdiel >= 2 else "ovcu"
print(f"Pastier milý, v zozname si {rozdiel} {slovo} zarátal opakovane.")
print("Tu sú tvoje ovečky zoradené:", sorted(mnozina_oviec))
Úlohy s funkciami, lambdou a mapou
Úloha 14: Olej v lampách
Kontext: Päť múdrych panien si vzalo lampy a olej v nádobách. Potrebujeme funkciu, ktorá nám povie, či majú dosť oleja na celú noc.
Zadanie:
- Vytvor funkciu SkontrolujOlej, ktorá prijme jeden parameter: objem.
- Funkcia vráti text:
- „Lampa svieti jasne.“, ak je objem aspoň 50 ml.
- „Plameň bliká, dolej olej!“, ak je objem menší ako 50 ml.
- V hlavnom programe zavolaj túto funkciu s rôznymi číslami a výsledok vypíš.
Strážny anjel (riešenie)
def SkontrolujOlej(objem):
if objem >= 50: return "Lampa svieti jasne."
return "Plameň bliká, dolej olej!"
# testovanie funkcie
p = 0
for objem in (100, 20, 50):
p += 1
print(f"Panna {p}, objem {objem}: {SkontrolujOlej(objem)}")
Úloha 15: Svadba v Káne Galilejskej
Kontext: Na svadbe chýba víno. Máme niekoľko nádob s vodou, ktoré sa premenia na víno. Potrebujeme vypočítať celkový objem.
Zadanie:
- Napíš funkciu PremenVodu, ktorá má dva parametre: pocet a objem.
- Funkcia vypočíta celkový objem a vráti výsledok.
- Ak nie je uvedený objem, nastav jeho predvolenú hodnotu na 40 litrov.
- Zavolaj funkciu tak, že určíš len počet nádob, a vypíš, koľko litrov vína vzniklo.
Strážny anjel (riešenie)
def PremenVodu(pocet, objem = 40):
return pocet * objem
pocet = const(6)
print("Zázrak sa stal! Máme", PremenVodu(pocet), "litrov najlepšieho vína.")
Úloha 16: Poriadok v zástupoch
Kontext: K Jánovi Krstiteľovi prúdia zástupy z celého Júdejska aj okolia Jordánu. Máme zoznam dvojíc, kde každá obsahuje názov mesta a vzdialenosť v km. Ján chce mať v zozname poriadok a chce si návštevníkov zoradiť podľa vzdialenosti, ktorú museli prekonať (od najbližších po najvzdialenejších).
Zadanie:
- Vytvor zoznam s aspoň štyrmi mestami, napr. Jeruzalem: 35, Nazaret: 120, Jericho: 10, Betlehem: 42.
- Pomocou anonymnej funkcie (lambda) zoraď tento zoznam podľa vzdialenosti.
- Zoznam prehľadne vypíš.
Strážny anjel (riešenie)
# zoznam miest a ich vzdialenosti k Jordánu
mesta = [
("Jeruzalem", 35),
("Nazaret", 120),
("Jericho", 10),
("Betlehem", 42)
]
# zoradenie pomocou anonymnej funkcie
# lambda x: x[1] hovorí: „vezmi 2. prvok v n-tici“
mesta.sort(key = lambda mesto: mesto[1])
print("Zástupy zoradené podľa námahy na ceste:")
for m in mesta: print(f"- {m[0]}: {m[1]} km")
Úloha 17: Rybársky úlovok
Kontext: Apoštoli Peter a Ondrej vytiahli siete. V zozname majú váhu rýb v librách, ale my ich potrebujeme previesť na kilogramy (zjednodušene: 1 libra = 0,5 kg).
Zadanie:
- Vytvor náhodný zoznam hmotností rýb v librách - počet rýb nech je od 3 do 7 a ich hmotnosť od 1 do 5. Zoznam vypíš.
- Pomocou mapy a lambdy premeň všetky hodnoty na kilogramy a zaokrúhli ich na 2 desatinné miesta, aj tento zoznam vypíš.
- Pomocou ďalšej mapy a lambdy preveď každé číslo predošlého zoznamu na text s presne 2 desatinnými miestami, pridanou jednotkou „kg“ a desatinnou čiarkou namiesto bodky. Tento zoznam pospájaj bodkočiarkou a vypíš.
Strážny anjel (riešenie)
Pri tomto riešení si tvoj strážny anjel musel zájsť po radu až ku kráľovi Šalamúnovi - toto je už programátorská múdrosť najvyššieho kalibru!
from random import uniform, randint
# vygenerovanie náhodných úlovkov a zaokrúhlenie: využije generátor zoznamu cez for
vahy_libry = [round(uniform(1, 5), 2) for _ in range(randint(3, 7))]
print("Pôvodne zaznamenané váhy úlovkov v librách:", vahy_libry)
# prevod na kg a zaokrúhlenie: lambda berie váhu, premení a zaokrúhli
vahy_kg = tuple(map(lambda v: round(v * 0.5, 2), vahy_libry))
print("Váhy úlovkov v kilogramoch:", vahy_kg)
# pekný výpis s čiarkami a jednotkami, oddelené bodkočiarkou:
# lambda prevedie číslo na text, pridá "kg" a zmení bodku na čiarku
# map túto lambdu aplikuje na tuplu váh a join pospája
vahy = "; ".join(map(lambda v: f"{v:.2f} kg".replace(".", ","), vahy_kg))
print("Pekný zoznam váhy úlovkov v kilogramoch:", vahy)
# vygenerovanie 2. lovu a riešenie „na jeden ťah“:
vahy2 = "; ".join(f"{uniform(1, 5) * 0.5:.2f} kg".replace(".", ",") for _ in range(randint(3, 7)))
print("Pekný zoznam z druhého lovu:", vahy2)
Pri riadku s riešením „na jeden ťah“ už aj kráľ Šalamún uznanlivo pokýval hlavou, odložil žezlo a tvojmu strážnemu anjelovi dal „high-five“. Povedal, že rozdeliť dieťa na polovicu bol dobrý trik, ale vtesnať generovanie, prepočet, formátovanie aj výmenu bodiek za čiarky do jedného riadku, to je skutočná efektivita. Vraví sa tomu aj šalamúnsky skrat - keď chceš celú múdrosť sveta vtesnať do jediného riadku. Odvtedy vraj anjeli na nebeskom GitHube hviezdičkujú len takéto riešenia.
Úloha 18: Dary troch kráľov
Kontext: Traja králi priniesli Ježiškovi dary. Každý dar má svoju hmotnosť a názov. Potrebujeme ich v jasličkách upratať tak, aby tie najťažšie boli navrchu.
Zadanie:
- Vytvorte zoznam darov, kde každá položka je dvojica údajov s názvom a hmotnosťou v gramoch, napr.: ("zlato", 500), ("kadidlo", 200), ("myrha", 200), ("vlna", 1000).
- Zoraďte tento zoznam podľa hmotnosti od najťažšej.
- Ak majú dva dary rovnakú hmotnosť (ako kadidlo a myrha), zoraďte ich v rámci toho abecedne.
- Vypíšte zoznam v prehľadnom tvare aj s poradovým číslom a hmotnosťou.
Strážny anjel (riešenie)
dary = [("zlato", 500), ("kadidlo", 200), ("myrha", 200), ("vlna", 1000)]
# triedenie: kľúč vráti (-hmotnosť, názov), mínus zabezpečí zostupné poradie
dary.sort(key = lambda d: (-d[1], d[0]))
print("Upratané dary v jasličkách:")
# enumerate vytvorí zoznam s poradovým číslom (od 1) a darom (ktorý je tupla)
# poradové číslo priradí do i, tuplu daru rozloží do nazov a vaha
for i, (nazov, vaha) in enumerate(dary, 1):
print(f" {i}. {nazov} ({vaha} g)")
Úlohy na zachytenie a ošetrenie chýb
Úloha 19: Spravodlivé delenie
Kontext: Kráľ Šalamún má rozdeliť 100 zlatých mincí medzi skupiny mudrcov. Ak sa však pred kráľa nedostaví žiadna skupina, program nesmie skončiť škaredou systémovou chybou.
Zadanie: Vytvorte program, ktorý načíta počet skupín a vypíše, koľko mincí dostane každá skupina:
- Ošetrite možné chybové stavy:
- Pri chybe ZeroDivisionError vypíšte šalamúnsku hlášku: „Keď niet komu deliť, mince zostávajú v kráľovskej pokladnici.“
- Pri chybe ValueError oznámi: „Môj kráľ, počet skupín musí byť vyjadrený číslom!“
- Výsledný podiel vypíšte elegantne - bez zbytočných núl na konci, ale maximálne na 2 desatinné miesta.
Strážny anjel (riešenie)
mince = const(100)
try:
podiel = mince / int(input("Zadaj počet skupín mudrcov: "))
except ZeroDivisionError:
# táto časť sa spustí, ak používateľ zadá 0
print("Keď niet komu deliť, mince zostávajú v kráľovskej pokladnici.")
except ValueError:
# táto časť sa spustí, ak používateľ nezadá číslo (zadá napr. písmená)
print("Môj kráľ, počet skupín musí byť vyjadrený číslom!")
else:
print(f"Každá skupina dostane {round(podiel, 2):g} mincí.")