Lecture Thumbnail

Vstup od používateľa

Tvoj kód už nebude len statický. Naučíš sa, ako od používateľa získať vstup a ako s ním pracovať.

V minulej lekcii sme sa naučili pracovať s premennými a vypísať ich hodnoty do konzoly. Na týchto vedomostiach budeme ďalej stavať. Možno si to neuvedomuješ, ale získavanie vstupu od používateľa je veľmi časté a dôležité pre funkciu aplikácií - prihlasovanie (zadávanie emailovej adresy a hesla), zadávanie počtu kusov v košíku, atď.

Načítanie vstupu v Pythone

Vstup v Pythone funguje v konzole. Konzola slúži totiž na výstup, ale aj na vstup. Na toto je zabudovaná funkcia input(), ktorá môže mať zadaný 1 argument - prompt, teda nejaká výzva pre používateľa. Tento prompt sa zobrazí v konzole ako normálny text, avšak po ňom bude nasledovať blikajúci kurzor a používateľ bude mať možnosť zadať nejaký text. Potom musí stlačiť klávesu Enter, aby sa jeho zadaný text "odoslal." S týmto textom vieme následne pracovať.

Pozor: Spúšťač kódu sa po chvíli neaktivity automaticky vypne, ak program očakáva vstup od používateľa.

Poďme si to skúsiť. Skús si prepísať kód, ktorý sa nachádza nižšie do spúšťaču. Spusti ho a skús potom napísať text do konzoly.

Dávaj pozor!

Ak chceš písať do konzoly, buď si istý, že sa tvoj kurzor v nej nachádza, taktiež aj to, že tvoj program aktuálne očakáva nejaký vstup.

Teraz si môžeš skúsiť prepísať prompt na nejaký svoj text. Taktiež si skús, čo sa stane, ak zavoláš input() bez argumentu:

Ako fungujú argumenty funkcií?

Ako vidíš funkcia input() (alebo print()) môže, ale nemusí mať argument. Prečo? Takéto parametre sa nazývajú voliteľné, teda je na nás, či ich chceme zadať. Avšak je veľa funkcií do ktorých musíme zadávať argumenty a ak ich nezadáme, tak dostaneme error (chybu). Hovorím to, aby si nebol zmätený, keď budem nazývať nejaké argumenty ako voliteľné alebo povinné.


Takto sa do našej premennej uloží čokoľvek, čo používateľ zadal. Táto premenná bude dátového str (textový reťazec). Na to si musíme dávať pozor.

Predstav si, že si vypýtame nejaké číslo na vstupe a potom k nemu chceme prirátať číslo 5. V tomto prípade nám vyhodí error, nakoľko dátový typ str nepodporuje takéto operácie. Skús si to.

Pretypovanie ostatných dátových typov

Pozor!

Pri pretypovaní si musíme byť istý, že argument, ktorý sme zadali bude spĺňať podmienky na pretypovanie pre daný typ. Napríklad funkcia int() zlyhá, ak napr. do nej dáme argument "ahoj" alebo "1.0".


Zreťazovanie str

Ak chceme naše výpisy do konzoly zlepšiť, musíme vedieť zreťaziť (po anglicky concatenate) textové reťazce. Vieme to docieliť aj vďaka pretypovaniu.

Viac príkladov na zreťazenie

Príklad č. 1

Príklad č. 2

Zopakuj si!

  1. Funkcia input() slúži na získanie vstupu od používateľa z konzoly.
  2. Hodnota získaná pomocou input() má vždy dátový typ str.
  3. Ak chceme so vstupom pracovať ako s číslom, musíme ho pretypovať pomocou int() alebo float().
  4. Textové reťazce vieme zreťaziť (spojiť) pomocou znaku +.
  5. Dátový typ premennej si môžeme overiť pomocou funkcie type().

5. Podmienky - logické rozhodovanie programu