Diskusia – 15. diel - Podmienky tretíkrát - Ternárny výraz a prepadávací match

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
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

 
Odpovedať
7.12.2023 22:16
Avatar
Karel Zaoral
Člen IT Redactor Gang
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.

 
Odpovedať
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 :)

 
Odpovedať
16.4.2024 23:00
Avatar
DarkCoder
Člen
Avatar
Odpovedá 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í.

Odpovedať
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
Odpovedá 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 :))

 
Odpovedať
+2
17.4.2024 18:54
Avatar
Tereza Helmová:8. marca 11:47

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

 
Odpovedať
8. marca 11:47
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Tereza Helmová
DarkCoder:8. marca 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.

Odpovedať
8. marca 13:44
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
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.

Zatiaľ nikto nevložil komentár - buď prvý!