NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 16 - Podmínky potřetí - Ternární výraz a propadávací match

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Duy Hoang Do
Člen
Avatar
Duy Hoang Do:7.12.2023 22:16

" Propadávání používejte v konstrukci match jen pokud k němu
máte dobrý důvod".....co by třeba mělo být tím dobrým důvodem? Kurz je strašně nevyvážený, čtivo většinou velmi stručné, často nesrozumitelné, za to úlohy těžší než Harvardský CS50

 
Odpovědět
7.12.2023 22:16
Avatar
Karel Zaoral
Člen
Avatar
Karel Zaoral:8.12.2023 10:48

Ahoj, dobré důvody jsem vyjmenoval v lekci. Na druhou stranu snažit se například přizpůsobovat logiku programu, abych si ušetřil pár řádek navíc, se mi může nevyplatit, protože to může způsobit zmatky v kódu a chyby, pokud není jasně a správně dokumentováno, co se děje.

 
Odpovědět
8.12.2023 10:48
Avatar
Lucie Králová:16.4.2024 23:00

Hezky vysvětlená lekce, jen bych asi potřebovala trochu více přiblížit, kdy je ideální propadávání v konstrukci match využívat :)

 
Odpovědět
16.4.2024 23:00
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Lucie Králová
DarkCoder:16.4.2024 23:50

Ta informace v článku padla, jen nebyla vypíchnuta a zapadla v textu.

Propadávání použijeme tam kde dvě nebo více větví case sdílí stejný kód.

Při vícecestném rozhodovat je třeba se nad tímto zamyslet a zodpovědět si, zda k tomu skutečně dochází.

Odpovědět
16.4.2024 23:50
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Lucie Králová:17.4.2024 18:54

Tomu rozumím. Jen bych zkrátka uvítala více příkladů z praxe :))

 
Odpovědět
17.4.2024 18:54
Avatar
Tereza Helmová:8. března 11:47

Nepochopila jsem, co v konstrukci match s propadávnáním znamená ono "propadávání" ?

 
Odpovědět
8. března 11:47
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Tereza Helmová
DarkCoder:8. března 13:44

Python žádné propadávání nemá. Pouze umožňuje mít vícero hodnot pod jedním case.

Je rozdíl vykonat příkaz v case 1 a pokračovat v case 2 a vykonat jeho příkaz nebo mít společný příkaz pro hodnoty 1 a 2.

Toto je propadávání (kód v C)

switch (value) {
    case 1:
        printf("Hodnota je 1\n");
    case 2:
        printf("Hodnota je 2\n");
    case 3:
        printf("Hodnota je 3\n");
    default:
        printf("Neznámá hodnota\n");
}

Toto ne

match value:
    case 1 | 2 | 3:  # Shoda pro 1, 2 nebo 3
        print("Hodnota je 1, 2 nebo 3")
        if value == 2:
            print("Speciální akce pro 2")
    case _:
        print("Neznámá hodnota")

Je třeba vidět rozdíl.

Odpovědět
8. března 13:44
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.