1. hodina – První program
Výpis pomocí print, aritmetika, proměnné a vstup od uživatelky pomocí input.
Výklad a cvičení
Výklad si můžeš přečíst přímo na webu. Příklady procházej po pořadí a kód si zkoušej ve VS Code.
Výpis pomocí print, aritmetika, proměnné a vstup od uživatelky pomocí input.
Výklad si můžeš přečíst přímo na webu. Příklady procházej po pořadí a kód si zkoušej ve VS Code.
Procházej příklady postupně, pak si vyzkoušej cvičení. Kód z bloků si můžeš zkopírovat do Python souboru ve VS Code a spustit. Příklady na jedné stránce na sebe mohou navazovat.
Spusť soubor ve VS Code (tlačítko Run) a sleduj terminál dole.
Mimochodem – řádky, které začínají znakem #, jsou komentáře. Python je ignoruje, slouží jenom nám lidem jako poznámky.
Co je print? print je funkce, která vypíše na obrazovku to, co jí zadáš. Je to náš hlavní způsob, jak si ukázat, co program dělá – bude nás provázet celým kurzem.
Zápis: print(neco)
Klasický první program:
print("Ahoj světe!")
Text (říkáme mu řetězec) musíme obalit do uvozovek.
print("Máma má mísu")
Uvozovky můžou být dvojité "..." nebo jednoduché '...'. Pythonu je to jedno, obojí funguje stejně.
print('Máma má mísu')
Pozor na drobnost: mezi název funkce a závorku se podle běžného stylu mezera nepíše. Zápis s mezerou Python přijme, ale používej přehlednější podobu:
print("ahoj")
Zpět na téma: Výpis textu · Další: Víc věcí najednou a čísla
Spusť soubor a sleduj, co se vypíše.
print umí vypsat i čísla. Čísla se (na rozdíl od textu) do uvozovek nedávají.
print(42)
Vypsat můžeš i víc věcí najednou – oddělíš je čárkou. Python mezi ně sám vloží mezeru.
víc čísel:
print(1, 2, 3)
víc slov:
print("Ahoj", "PyLadies!")
text a číslo dohromady:
print("Je mi", 30, "let")
Příkazy se provádějí jeden po druhém, odshora dolů.
print("první řádek")
print("druhý řádek")
Zpět na téma: Výpis textu · Další: Spojování a opakování textu
Spusť soubor a porovnej výsledky.
Text jde spojit pomocí + (plus). Pozor na rozdíl oproti čárce: čárka mezi věci přidá mezeru plus je spojí natěsno (mezeru si musíš přidat sama)
print("Ahoj", "PyLadies!") # Ahoj PyLadies!
print("Ahoj" + "PyLadies!") # AhojPyLadies!
print("Ahoj" + " " + "PyLadies!") # Ahoj PyLadies!
Hvězdičkou se text opakuje – hodí se třeba na oddělovací čáru:
print("=" * 20)
print("ahoj " * 3)
Zpět na téma: Výpis textu · Další: Chybová hláška (co se stane, když uděláš chybu)
Dělat chyby je úplně normální – dělají je i zkušení programátoři. Když něco napíšeš špatně, Python program zastaví a vypíše chybovou hlášku. Není to nic zlého, jen ti říká, co je špatně.
Zkus tenhle soubor spustit. Objeví se chyba – to je schválně!
Na řádku níž chybí uvozovky kolem textu:
print(Máma má mísu)
V terminálu uvidíš něco podobného:
File "04_chybova_hlaska.py", line 12
print(Máma má mísu)
^^^
SyntaxError: invalid syntax
Chybová hláška ti řekne:
ve kterém souboru chyba je,
na kterém řádku,
a jaký druh chyby to je (třeba SyntaxError).
Jak to opravit? Dej text do uvozovek: print("Máma má mísu") a spusť soubor znovu. Chyba zmizí.
Chybovým hláškám se budeme víc věnovat později. Teď stačí vědět, že jsou normální a že se dají přečíst.
Každé cvičení má vlastní soubor ve složce lekce01-prvni-program/01_print/cviceni/. Otevři ho ve VS Code, doplň kód pod zadání a soubor spusť (Run). Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni/01_vypis_jmeno.py
Vypiš na obrazovku svoje jméno.
print("Anna")
Soubor: cviceni/02_veta_ucim_se.py
Vypiš větu: Učím se Python
print("Učím se Python")
Soubor: cviceni/03_tri_slova_v_printu.py
Vypiš na jeden řádek tři slova oddělená čárkou uvnitř print, třeba: Ahoj krásný světe
print("Ahoj", "krásný", "světe")
Soubor: cviceni/04_dva_radky.py
Vypiš dvě slova, každé na svém řádku:
Dnes
je
print("Dnes")
print("je")
Soubor: cviceni/05_cara_z_rovnitek.py
Vypiš čáru z 15 rovnítek (=). Použij opakování hvězdičkou *.
print("=" * 15)
Soubor: cviceni/06_spojeni_slov.py
Spoj pomocí + dvě slova tak, aby mezi nimi byla mezera. Třeba: Ahoj Aničko
print("Ahoj" + " " + "Aničko")
Zpět na téma: Výpis textu · Další: Bonusová cvičení: Výpis textu
Bonusy jsou pro rychlíky – když máš hotová cvičení a zbývá čas. Každý bonus má vlastní soubor ve složce lekce01-prvni-program/01_print/cviceni_bonusy/. Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni_bonusy/01_ctverec_z_hvezdicek.py
Vytiskni z hvězdiček čtverec 5×5:
*****
*****
*****
*****
*****
print("*" * 5)
print("*" * 5)
print("*" * 5)
print("*" * 5)
print("*" * 5)
Soubor: cviceni_bonusy/02_ramecek_kolem_slova.py
Vytiskni rámeček kolem slova PyLadies:
===============
= PyLadies =
===============
print("=" * 15)
print("= PyLadies =")
print("=" * 15)
Soubor: cviceni_bonusy/03_zalomeni_radku.py
Zjisti, co udělá \n uvnitř textu. Pak jedním printem vypiš své jméno a příjmení pod sebe.
print("Anna\nNováková")
Procházej příklady postupně, pak si vyzkoušej cvičení. Kód z bloků si můžeš zkopírovat do Python souboru ve VS Code a spustit. Příklady na jedné stránce na sebe mohou navazovat.
Vypisovat už umíme – teď zkusíme, že Python počítá jako kalkulačka. Spusť soubor a sleduj výsledky.
Sčítání a odčítání
print(3 + 8)
print(10 - 2)
Násobení se píše hvězdičkou *
print(4 * 5)
Dělení se píše lomítkem /
print(20 / 4)
Dělení může vyjít desetinné. Desetinná čárka se v Pythonu píše jako tečka.
print(10 - 2.2)
Někdy vyjde hodně dlouhé desetinné číslo – to je v pořádku, Python jen ukazuje výsledek co nejpřesněji.
print(10 / 3)
Ještě důležitá věc: stejné znaménko se chová jinak u čísel a u textu. (S + a * na textu jsme se potkali už u printu.)
print(3 + 8) # 11 čísla se sčítají
print("3" + "8") # 38 text se spojuje
print("ha" * 3) # hahaha text se opakuje
Číslo a text jsou totiž různé datové typy. Proto později u input() budeme text převádět na číslo (int / float), než s ním počítáme.
Kromě + - * / má Python i pár operátorů navíc. Teď je jen potkáme a vyzkoušíme – pořádně se nám budou hodit později (třeba u cyklů). Když ti hned nedojde, k čemu jsou, nevadí. Spusť soubor a sleduj výsledky.
Celočíselné dělení // Vydělí a zahodí zbytek – vrátí jen celý podíl (zaokrouhlí dolů).
print(17 // 5) # 3 (17 děleno 5 je 3 a něco, celá část je 3)
Zbytek po dělení % (říká se mu modulo) Vrátí to, co po dělení zbyde.
print(17 % 5) # 2 (17 = 3 * 5 + 2, zbytek je 2)
Mocnina ** 2 ** 3 znamená „dvě na třetí", tedy 2 * 2 * 2.
print(2 ** 3) # 8
print(5 ** 2) # 25
Zpět na téma: Aritmetika · Další: Počítání s textem a pořadí operací
Spusť soubor a sleduj výsledky.
Počítat můžeš i uvnitř print, klidně spolu s textem:
print("Součet čísel 3 a 8 je", 3 + 8)
Když je operací víc, platí stejné pořadí jako v matematice: nejdřív násobení a dělení, potom sčítání a odčítání.
print(2 + 3 * 4) # 14 (nejdřív 3 * 4, pak + 2)
Závorkami změníš pořadí:
print((2 + 3) * 4) # 20 (nejdřív 2 + 3, pak * 4)
Závorky fungují úplně stejně jako v matematice:
print(3 + (4 + 6) * 8 / 2 - 1)
Každé cvičení má vlastní soubor ve složce lekce01-prvni-program/02_aritmetika/cviceni/. Otevři ho ve VS Code, doplň kód pod zadání a soubor spusť (Run). Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni/01_soucet.py
Vypiš, kolik je 7 + 15.
print(7 + 15)
Soubor: cviceni/02_soucin.py
Vypiš, kolik je 9 krát 6.
print(9 * 6)
Soubor: cviceni/03_deleni.py
Vypiš, kolik je 100 děleno 8.
print(100 / 8)
Soubor: cviceni/04_celociselny_podil.py
Vypiš celočíselný podíl 100 a 8.
print(100 // 8)
Soubor: cviceni/05_zbytek_po_deleni.py
Vypiš zbytek po dělení 100 sedmi.
print(100 % 7)
Soubor: cviceni/06_mocnina.py
Vypiš 3 na čtvrtou.
print(3 ** 4)
Soubor: cviceni/07_veta_s_vypoctem.py
Vypiš větu i s výsledkem, třeba: Dohromady to je 25 Číslo nech spočítat Python (napiš do print výpočet, ne hotové číslo).
print("Dohromady to je", 12 + 13)
Zpět na téma: Aritmetika · Další: Bonusová cvičení: Aritmetika
Bonusy jsou pro rychlíky – když máš hotová cvičení a zbývá čas. Každý bonus má vlastní soubor ve složce lekce01-prvni-program/02_aritmetika/cviceni_bonusy/. Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni_bonusy/01_posledni_cislice.py
Zjisti poslední číslici čísla 2837.
print(2837 % 10)
Soubor: cviceni_bonusy/02_hodiny_a_minuty.py
Máš 200 minut. Vypiš, kolik je to celých hodin a kolik minut zbyde.
print("Hodiny:", 200 // 60)
print("Minuty:", 200 % 60)
Soubor: cviceni_bonusy/03_cena_s_dph.py
Zboží stojí 250 Kč. Připočti 21% DPH a vypiš výslednou cenu.
print(250 * 1.21)
Soubor: cviceni_bonusy/04_plocha_kruhu.py
Spočítej plochu kruhu o poloměru 5.
Plocha = 3,14 × poloměr na druhou.
print(3.14 * 5 ** 2)
Procházej příklady postupně, pak si vyzkoušej cvičení. Kód z bloků si můžeš zkopírovat do Python souboru ve VS Code a spustit. Příklady na jedné stránce na sebe mohou navazovat.
Spusť soubor a sleduj, co se vypíše.
Zatím jsme čísla a text psali pořád dokola. Proměnná je pojmenovaná „krabička", do které si hodnotu uložíš a pak ji používáš pod jejím jménem – ať ji máš po ruce.
Zapisuje se takhle: jmeno = hodnota (napíšeš jméno, rovnítko a za něj hodnotu)
Do proměnné jmeno uložíme text:
jmeno = "Anna"
print(jmeno)
Do proměnné vek uložíme číslo:
vek = 30
print(vek)
Hodnotu v proměnné můžeš kdykoli změnit (přepsat):
jmeno = "Petra"
print(jmeno)
Jak proměnné pojmenovávat:
malými písmeny
jméno začíná písmenem (ne číslem)
bez mezer (víc slov spoj podtržítkem: oblibena_barva)
výstižně, ať víš, co v proměnné je (mesto, cena, pocet...)
mesto = "Praha"
oblibena_barva = "modrá"
print(mesto, oblibena_barva)
Vizuální vysvětlení proměnných najdeš v obrázku promenne_vizualizace.png.

Spusť soubor a sleduj, co se vypíše.
Proměnnou můžeš použít víckrát. Hodí se, když se něco opakuje.
jmeno = "Anna"
print("Ahoj,", jmeno)
print(jmeno, "vítej v Pythonu!")
print("Měj se hezky,", jmeno)
Zkus změnit jméno na jednom místě (řádek s jmeno = ...) a spusť znovu – změní se to úplně všude. To je kouzlo proměnných.
Funguje to i s počítáním. S proměnnými se dá počítat úplně stejně jako s čísly:
a = 5
b = 3
print("Součet je", a + b)
Příklad se čtvercem: stranu zadáme jen jednou do proměnné.
strana = 123
print("Obvod čtverce se stranou", strana, "je", 4 * strana, "cm")
print("Obsah čtverce se stranou", strana, "je", strana * strana, "cm²")
Kdybychom chtěli jiný čtverec, stačí změnit jen řádek strana = ... a oba výpočty se přepočítají samy.
Každé cvičení má vlastní soubor ve složce lekce01-prvni-program/03_promenne/cviceni/. Otevři ho ve VS Code, doplň kód pod zadání a soubor spusť (Run). Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni/01_promenna_jmeno.py
Vytvoř proměnnou jmeno a ulož do ní svoje jméno. Pak ji vypiš.
jmeno = "Anna"
print(jmeno)
Soubor: cviceni/02_promenna_vek.py
Vytvoř proměnnou vek a ulož do ní svůj věk. Pak ji vypiš.
vek = 30
print(vek)
Soubor: cviceni/03_zmena_hodnoty.py
Změň hodnotu proměnné jmeno na jiné jméno a vypiš ji znovu.
jmeno = "Petra"
print(jmeno)
Soubor: cviceni/04_soucet_dvou_promennych.py
Vytvoř dvě proměnné s čísly a vypiš jejich součet.
a = 10
b = 7
print(a + b)
Soubor: cviceni/05_veta_s_promennou.py
Vytvoř proměnnou mesto a vypiš větu: Bydlím v <mesto> (místo <mesto> se má vypsat hodnota proměnné)
mesto = "Praha"
print("Bydlím v", mesto)
Bonusy jsou pro rychlíky – když máš hotová cvičení a zbývá čas. Každý bonus má vlastní soubor ve složce lekce01-prvni-program/03_promenne/cviceni_bonusy/. Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni_bonusy/01_prohozeni_hodnot.py
Máš dvě proměnné: a = 5 a b = 3. Prohoď jejich hodnoty tak, aby v a bylo 3 a v b bylo 5. Nakonec obě vypiš.
a = 5
b = 3
pomocna = a # dočasně si schováme hodnotu a
a = b
b = pomocna
print(a, b)
Soubor: cviceni_bonusy/02_zvysovani_skore.py
Vytvoř proměnnou skore a nastav ji na 0. Postupně k ní přičti 10, potom 25 a potom 5 – pokaždé novou hodnotu ulož zpět do skore. Nakonec skore vypiš.
skore = 0
skore = skore + 10
skore = skore + 25
skore = skore + 5
print(skore)
Soubor: cviceni_bonusy/03_cele_jmeno.py
Vytvoř proměnné jmeno a prijmeni. Vypiš na jeden řádek celé jméno.
jmeno = "Anna"
prijmeni = "Nováková"
print(jmeno, prijmeni)
Procházej příklady postupně, pak si vyzkoušej cvičení. Kód z bloků si můžeš zkopírovat do Python souboru ve VS Code a spustit. Příklady na jedné stránce na sebe mohou navazovat.
Zatím jsme všechno psali napevno do kódu. Funkce input umí program „oživit" – zeptá se uživatele a počká, až něco napíše.
Spusť soubor a odpověz na otázku dole v terminálu. Pozor: po spuštění to vypadá, že se nic neděje – program ale čeká, až něco napíšeš do terminálu a stiskneš Enter.
input zobrazí otázku a to, co uživatel napíše, si uložíme do proměnné:
jmeno = input("Jak se jmenuješ? ")
print("Ahoj,", jmeno)
Zeptat se můžeme i na víc věcí:
mesto = input("A odkud jsi? ")
print(jmeno, "z města", mesto, "– vítej!")
Zpět na téma: Vstup od uživatelky · Další: input vždycky vrací text
Pozor na důležitou věc: cokoliv uživatel napíše, input vrátí jako TEXT – i když to vypadá jako číslo. Spusť soubor a uvidíš, proč na tom záleží.
Zeptáme se na věk. To, co dostaneme, je text (třeba "30").
vek = input("Kolik ti je let? ")
Kdybychom teď chtěli přičíst 1, program by SPADL s chybou – k textu se totiž číslo přičíst nedá. Zkus si to: odkomentuj řádek níž a spusť soubor.
print("Za rok ti bude", vek + 1)
Řešení: text převedeme na číslo pomocí funkce int(). Uděláme to ve dvou krocích, ať je vidět, co se děje:
vek_text = input("Kolik ti je let? ") # text, třeba "30"
vek = int(vek_text) # převedeno na číslo 30
print("Za rok ti bude", vek + 1)
Zkráceně se to samé píše rovnou na jeden řádek (int okolo inputu):
vek = int(input("Kolik ti je let? "))
Pro desetinná čísla se používá float():
strana = float(input("Zadej stranu čtverce v cm: "))
print("Obvod čtverce je", 4 * strana, "cm")
Pozn.: desetinná čísla se vypisují s tečkou, takže třeba 12.0.
Zpět na téma: Vstup od uživatelky · Další: Cvičení: Vstup od uživatelky
Každé cvičení má vlastní soubor ve složce lekce01-prvni-program/04_input/cviceni/. Otevři ho ve VS Code, doplň kód pod zadání a soubor spusť (Run). Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni/01_dotaz_na_jmeno.py
Zeptej se uživatele na jméno a ulož ho do proměnné.
jmeno = input("Jak se jmenuješ? ")
Soubor: cviceni/02_pozdrav_jmenem.py
Pozdrav uživatele jeho jménem (např. Ahoj, Anna).
print("Ahoj,", jmeno)
Soubor: cviceni/03_oblibena_barva.py
Zeptej se ještě na jednu věc (třeba oblíbenou barvu) a vypiš ji ve větě.
barva = input("Jaká je tvoje oblíbená barva? ")
print("Tvoje oblíbená barva je", barva)
Soubor: cviceni/04_vek_za_deset_let.py
Zeptej se uživatele na jeho věk, převeď ho na číslo a vypiš, kolik mu bude za 10 let.
vek = int(input("Kolik ti je let? "))
print("Za 10 let ti bude", vek + 10)
Soubor: cviceni/05_jmeno_a_vek.py
Napiš program, který se zeptá na jméno a na věk (převeď na číslo) a vypíše větu: Ahoj <jmeno>, za rok ti bude <věk + 1> let.
jmeno = input("Jak se jmenuješ? ")
vek = int(input("Kolik ti je let? "))
print("Ahoj,", jmeno, "- za rok ti bude", vek + 1, "let")
Zpět na téma: Vstup od uživatelky · Další: Bonusová cvičení: Vstup od uživatelky
Bonusy jsou pro rychlíky – když máš hotová cvičení a zbývá čas. Každý bonus má vlastní soubor ve složce lekce01-prvni-program/04_input/cviceni_bonusy/. Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Soubor: cviceni_bonusy/01_soucet_dvou_cisel.py
Zeptej se uživatele na dvě čísla a vypiš jejich součet.
a = int(input("Zadej první číslo: "))
b = int(input("Zadej druhé číslo: "))
print("Součet je", a + b)
Soubor: cviceni_bonusy/02_rozpocitani_castky.py
Zeptej se na částku a na počet lidí. Vypiš, kolik zaplatí každý a kolik korun zbyde.
castka = int(input("Kolik je účet? "))
lidi = int(input("Kolik vás je? "))
print("Každý zaplatí:", castka // lidi)
print("Zbyde:", castka % lidi)
Soubor: cviceni_bonusy/03_opakovani_jmena.py
Zeptej se na jméno a na číslo. Vypiš jméno tolikrát za sebou.
jmeno = input("Jak se jmenuješ? ")
pocet = int(input("Kolikrát? "))
print(jmeno * pocet)