Lecture Thumbnail

Podmienky - logické rozhodovanie programu

Náš program začne premýšľať. Pomocou podmienok určíš, ktorá časť kódu sa má vykonať a ktorá sa má preskočiť.

Ako programy rozmýšľajú

Na to aby programy riešili komplexné úlohy, tak musia vedieť podľa určitých podmienok rozmýšľať. Napríklad, keď nakupujete na e-shopoch, tak na základe počtu kusov na sklade sa zobrazia rôzne texty pod produktami - vypredaný, zostáva 5ks, atď. V tomto príklade vieme vyvodiť podmienky na základe ktorých sa určil zobrazený text. Teda, ak je počet kusov rovný nule, povieme používateľovi, že produkt je vypredaný. Ak je počet viac ako nula, zobrazíme ho. Na takomto princípe fungujú všetky podmienky, teda ak niečo platí, tak sa vykoná toto, ak nie vykoná sa niečo iné

V podmienkach je používaný dátový typ bool, logická jednotka, ktorá buď platí alebo nie. Pripomeňme si jeho hodnoty - True a False.

Namiesto textu podmienka by sme napísali našu podmienku (je užívateľ prihlásený, je počet kusov viac ako 5, ...) s dvojbodkou na konci. Potom v ďalšom riadku, ktorý musí byť odsadený, by sme napísali kód, ktorý sa spustí. Pozor na to, že tento kód musí byť odsadený, obyčajne sa na to využíva klávesa TAB.

Komentáre v Pythone

  1. Určite si si všimol v predchádzajúcom bloku kódu zelený text, pred ktorým je # (hashtag). Toto sa v programovaní nazýva komentár, vďaka ktorému vieme písať text, ktorý je určený čisto pre vysvetlenie kódu.
  2. Akýkoľvek text za # sa neinterpretuje a nespustí sa ako kód.

Príklady podmienok

Operátory porovnávania

Pre tvorenie podmienok potrebujeme poznať operátory porovnávania. 

Rovná sa, nerovná sa (ekvivalencia)

Toto sú jedny z najviac využívaných operátorov. Rovná sa zapisujeme pomocou dvoch symbolov == (rovná sa). Pozor, ak by sme použili len jeden, Python by si myslel, že chceme priradiť hodnotu ku premennej.

Nerovná sa zapisujeme pomocou != (výkričník a rovná sa). Je to ako keď v matematike prečiarkneš znak rovná sa, len takýto znak neexistuje na klávesnici, tak sa zapisuje pomocou dvoch.

Väčší ako, menší ako, ...

V tabuľke nižšie sú všetky operácie, aj s príkladmi, ktoré tvoria podmienku z počtu. Sú používané s dátovými typmi int a float. Tieto operátory sú rovnaké ako tie z matematiky.

Názov Operátor Príklad
Väčší ako > if x > 50:
Menší ako < if zadany_vek < 18:
Väčší ako alebo rovný >= if body >= 90:
Menší ako alebo rovný <= if dlzka_spravy <= 10:

Čo ak podmienka neplatí?

Predstavme si, že chceme podľa veľkosti čísla vypísať dve rôzne správy. Ak číslo bude väčšie ako 50, vypíšeme, že číslo je moc veľké. Inak ak bude menšie ako alebo rovné 50, vypíšeme, že číslo má ideálnu veľkosť.

V takomto "buď-alebo" scenári, využijeme if a else. Pomocou else vieme rozšíriť podmienku tak, že keď naša podmienka je neplatná, tak sa spustí blok spadajúci pod else.

Skús si v rámci mini-cvičenia zmeniť túto podmienku. Napríklad, aby sa vypísala správa "Číslo je moc veľké.", len ak sa cislo rovná alebo je väčšie ako 100.

Vnorené podmienky (podmienky v podmienkach)

Spolu s if a else vieme tvoriť ďalšie podmienky vo vnútri týchto if blokov - nazývané vnorené podmienky. Sú to podmienky vo vnútri inej podmienky, takýmto spôsobom vieme tvoriť komplexnejšie podmienky a programy.

V tomto príklade, ak sa cislo rovná nule, tak na to upozorníme. Ak sa nule nerovná, spustí sa naša originálna podmienka.

Pozor na odsadzovanie!

Bloky kódu musia byť správne odsadené. Dávaj pozor, aby si nemal dve podmienky hneď pod sebou a aby si pod príazom if (resp. else) mal odsadený aspoň 1 riadok kódu. V prípade, že máš zle odsadený kód, tak Python vyhodí IndentationError.