Na začátek trocha zdánlivě nudného opakování, ať si trochu osvěžíme programování. To ale neznamená, že tu nemůžeš najít něco zvláštního a překvapivého!
Co dělá funkce print
?
Co vrací funkce print
?
Co dělá pojmenovaný argument end
funkce print
?
Co dělá pojmenovaný argument sep
funkce print
?
Čím se liší chyby, které dostaneš když zadáš tyhle příkazy?
int('blabla')
float('blabla')
int('8.9')
int(8.9)
A teď možná trochu záludný ale zajímavý příklad na procvičení práce se soubory.
Můj bratr, který píše japonské texty, mě požádal o program, který počítá znaky.
Program přečte soubor rozsypanycaj.txt
a zjistí, kolik znaků je psáno kterou
z japonských slabikových abeced:
• ひらがな (hiragana): ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん ゔ
• カタカナ (katakana): ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ
Abecedy jsou ke zkopírování na stránkách s materiály. Program vypíše dvě čísla – počet znaků pro každou z abeced. Znaky, které nejsou ani v jedné z abeced, ignoruj.
Teď několik programovacích oříšků pro dlouhé chvíle. Nemáš-li čas, přeskoč je.
Napiš program, který se zeptá na 3 čísla a zjistí, jestli je jejich součet větší než 10. Dokážeš to napsat tak, aby funkce input byla v kódu zapsaná jen jednou? ;)
Napiš program, který načte číslo a zjistí, jestli je sudé.
Sudá čísla jsou beze zbytku dělitelná dvěma.
Napiš program, který vypíše čísla od jedné do 100, ale:
Pokud máš ráda matematiku* a nebojíš se výzvy, načti od uživatele číslo n a:
* t.j. nemáš-li ráda matematiku, nedělej tenhle projekt :)
Želví kreslení! Tahle sekce tě naučí myslet jako programátorka počítačové grafiky. Je dobré jednotlivé projekty dělat postupně, a když něco začne fungovat, znovu si řešení projít a zamyslet se nad ním.
Nakresli domeček!
Jak pravil Pythagoras, délka šikmé čáry v domečku je √2-krát délka stěny. O funkci na odmocninu jsme mluvili na srazu.
Procvičení funkcí. Napiš funkci, která vykreslí domeček dané velikosti. (t.j. velikost se zadá argumentem)
Tento projekt si udělej, pokud máš ráda geometrii* :)
Máš-li ráda geometrii, můžeš zkusit dávat domečkové funkci dva argumenty:
šířku a výšku.
Je potřeba si vzpomenout na Pythagorovu větu a funkci arcustangens, v pythonu se jmenuje atan
.
Pozor, funkce atan
vrací výsletek 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 projekt přeskoč
Nakresli vesnici! Velokosti domečků se můžou měnit, třeba náhodně, růst, klesat nebo vůbec, záeží na tobě.
Následující úkoly navazují na úkoly z třetí lekce, pokud je nemáš splněné vrať se k nim, začni kreslením trojúhelníku.
Želva umí jen rovné čáry. Jde pomocí rovných čar nakreslit kolečko?
Nevíš-li, přeskoč na další projekt a pak se sem vrať.
Nakresli pětadevadesátiúhelník.
Nakresli takovýto ornament:
Nevíš-li si rady, vezmi pravítko a změř délky jednotlivých čar. Doporučuju začít od středu.
Nakresli takovýto ornament:
Nakresli spirálu.
Od ornamentů ke spirále se dostaneš stejným způsobem jako od n
-úhelníků ke kolečku.
Napiš obrázek! Třeba les ze stromů, město z domů, nebe z hvězd, dav ze smajlíků, hradbu z věží, zikkurat ze schodů, ...
Můžeš použít i nějakou z funkcí modulu random
.
Na sraze jsme nakreslili tři čtverce, každý otočený o 20°. Nakresli 18 takových čtverců.
Vezmi program z minulé úlohy a dokresli stonek a listy.
Je jenom na tobě, jaký budou mít tvar.
Piš komentáře a snaž se opakovat pomocí for
,
ne pomocí Ctrl+C Ctrl+V.