Na začátek trocha teoretického opakování.
Co dělá funkce print
?
Co vrací funkce print
?
Trocha experimentování. Zadání si prosím pořádně přečti.
Co se stane, když tělo nějaké funkce necháš úplně prázdné? Zkus vysvětlit, proč. (Tělo funkce je odsazený blok za dvojtečkou)
Co se stane, když necháš úplně prázdné tělo cyklu? Zkus vysvětlit, proč.
Umíš napsat funkci (nebo proceduru)?
Pozor na slovíčka jako „vrátit“ a „vypsat“, která říkají, co máš dělat.
Napiš funkci, která jako argument bere příjmení uživatelky/uživatele a zkusí podle něj uhodnout její/jeho pohlaví. To vrátí jako řetězec.
Funkci v programu několikrát zavolej (s různými příjmeními – ty můžeš zadat přímo do kódu při volání funkcí). Výsledky vypiš.
(Pohlaví není možné určit přesně – stačí zvládnout ta nejčastější česká příjmení.)
Program, který tohle dělá, už máš – úkol spočívá v tom, že z něj správný kousek „zabalíš“ do funkce.
Napiš proceduru, která vykreslí domeček dané velikosti. Velikost se zadá jako argument, např:
vykresli_domecek(30)
vykresli_domecek(40)
vykresli_domecek(80)
Proceduru v programu několikrát zavolej (s různými velikostmi).
Máš-li ráda geometrii, můžeš zkusit dávat domečkové proceduře dva argumenty:
šířku a výšku.
Je potřeba si vzpomenout na Pythagorovu větu a na goniometrické funkce.
Konkrétně funkci arkus tangens* from math import atan
.
Pozor, funkce atan
vrací výsledek v radiánech;
je potřeba ho převést na stupně (from math import degrees
).
* t.j. jestli nemáš ráda geometrii, tak tenhle úkol přeskoč
Procvičení programování. Často je jednoduché něco napsat, ale dotažení do konce může být časově náročné. Tyto úkoly jsou nepovinné. Nemáš-li čas, přeskoč je a jen se zamysli, jak bys projekt vyřešila.
Změň program Kámen, Nůžky, Papír tak, aby opakoval hru, dokud
uživatel nezadá slovo konec
.
Změň funkci ano_nebo_ne
tak,
aby se místo ano
se dalo použít i a
, místo ne
i n
a aby se nebral ohled na velikost písmen a mezery před/za odpovědí.
Odpovědím jako možná
nebo no tak určitě
by počítač dál neměl rozumět.
Teď několik programovacích oříšků pro dlouhé chvíle. Jsou nepovinné. Nemáš-li čas, přeskoč je a jen se zamysli, jak bys projekt vyřešila.
Funguje-li ti hra sibenice
, můžeš ji vylepšit.
zamen
(místo toho, aby byl příslušný kód přímo v hlavním
programu).!
), nepovažuj to za tah.Jednotlivá vylepšení dělej jednotlivě a v odpovědi napiš, která jsou hotová a která rozpracovaná. Jakmile nějaké vylepšení začne fungovat, program odevzdej! Je možné odevzdat několik verzí.
Napiš program, který simuluje tuto „hru“:
První hráč hází kostkou (t.j. vybírají se náhodná čísla od 1 do 6), dokud nepadne šestka. Potom hází další hráč, dokud nepadne šestka i jemu. Potom hází hráč třetí a nakonec čtvrtý. Vyhrává ten, kdo na hození šestky potřeboval nejvíc hodů. (V případě shody vyhraje ten, kdo házel dřív.)
Program by měl vypisovat všechny hody a nakonec napsat, kdo vyhrál.
Nápověda: průběžně stačí ukládat jen údaj o tom, kdo vede a kolik má bodů.
Tip: Program si napiš napřed v češtině; pak ho přelož do Pythonu.
Obrázek na konec.
Tento úkol je nepovinný. Procvičuje rekurzi; koukni před ním na příslušné materiály.
Řekni želvě, aby nakreslila tento stromeček. (Instrukce můžeš řádek po řádku přeložit do Pythonu.)
Stromeček dané délky a úhlu se kreslí takto:
delka/2
) a dvoutřetinovým úhlem (uhel*2/3
)Otoč želvu o 90° doleva (aby se dívala nahoru)