Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 9. diel - Podmienky (vetvenie) druhýkrát - Konštrukcia match v Pythone

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
t.teichmanova:25. marca 8:38
#Použití kalkulačky s cyklem while/break - opravená verze
while True:
    a = float(input("Zadejte první číslo: "))
    b = float(input("Zadejte druhé číslo: "))
    print("Zvolte si operaci: ")
    print("1 - sčítání")
    print("2 - odčítání")
    print("3 - násobení")
    print("4 - dělení")
    volba = int(input())
    vysledek = 0.0
    match volba:
        case 1:
            vysledek = a + b
        case 2:
            vysledek = a - b
        case 3:
            vysledek = a * b
        case 4:
            if b != 0:
                vysledek = a / b
            else:
                print("Nulou nelze dělit!")
                vysledek = "N/A"

    if volba > 0 and volba < 5:
     print(f"Výsledek: {vysledek}")

  #  print(vysledek)
    # terminate the loop when user enters end
    user_input = input('Zadejte dalsi  čísla nebo ukončete slovem end: ')
    if user_input == 'end':
        print(f'The loop is ended')
        break
Avatar
Barbora Zdvihalová:1. júna 7:41

Asi bych uvítala víc poznámek v kódu - co dělá co. V této lekci například nerozumím, proč je v kalkulačce řádek "vysledek = 0.0".

Avatar
DarkCoder
Člen
Avatar
Odpovedá na Barbora Zdvihalová
DarkCoder:1. júna 20:23

Podívej se do diskuze následujícího článku, kde jsem se k tomu vyjádřil:

Cyklus while v Pythonu

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Petr Svárovský:19. októbra 13:57

To se jako učím naprogramovat kalkulačku v kurzu za 50K?

Avatar
Jiří Mynář:29. novembra 14:50

Kde je vysvětleno co znamená case? Musím si to zvlášť dohledat, abych to věděl

Avatar
DarkCoder
Člen
Avatar
DarkCoder:29. novembra 21:57

Vysvětlení konstrukce match v článku je podle mě zbytečně zjednodušené. Ukazujete příklad, ale chybí zde popis samotného principu pattern matchingu a popis základní prvků konstrukce.

match v Pythonu 3.10 nepřináší jen náhradu za klasický switch z jiných jazyků, ale kompletní Structural Pattern Matching, které umožňuje mnohem víc možností než pouhé porovnávání literálů.

Tento článek a článek v kapitole 16. aktuálně pokrývá jen nejzákladnější patterny:

literal pattern
wildcard pattern
OR pattern

To je ale jen asi čtvrtina toho, co match umí. Chybí například:

capture patterns
sequence patterns
mapping patterns
class patterns
guards
zachycení zbytku (*rest)
vnořené patterny

Tohle tvoří skutečnou sílu pattern matchingu a bez těchto ukázek může čtenář snadno nabýt dojmu, že match je jen hezčí varianta if/elif.

Zároveň ale chápu, že tento článek je zaměřený na začátečníky. Bylo by skvělé, kdyby se pokročilejší možnosti pattern matchingu doplnily později — až ve chvíli, kdy bude čtenář obeznámený s odpovídajícími konstrukcemi, jako jsou práce se sekvencemi, slovníky nebo třídami. To by dalo celému tématu logickou návaznost a pomohlo pochopit, proč Python konstrukci match vůbec zavedl.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 6 správy z 56.