V následující sadě úkolů pochopíš různá použití cyklu for.
Popiš, co dělá tenhle kód? Zkus si ho zkopírovat a pustit.
for p in 'Ahoj světe!':
print(p)
Popiš, co dělá tenhle kód? Zkus si ho zkopírovat a pustit.
for z in ['had', 'králík', 'pes', 'vlaštovka']:
print(z)
Popiš, co dělá tenhle kód? Zkus si ho zkopírovat a pustit.
for c in [0, 1, 2, 3, 4]:
print(c)
Vymyslíš lepší jména pro iterační proměnné z minulých úloh.
Je důležité proměnnou pojmenovat výstižně, jinak se v dalších projektech můžeš ztratit.
Popiš, co dělá tenhle kód? Zkus si ho zkopírovat a pustit.
for c in range(5):
print(c)
Už víš, co dělá výraz for
s řetězcem, výčtem hodnot a funkcí range()
.
Dokážeš to zobecnit – popsat for
jednodušeji, než jak je popsán v materiálech?
Popiš slovně, co vrací funkce range
?
Co dělá tenhle kód? Funguje vůbec?
for c in 38:
print(c)
Podle toho, co jsi si dosud zkusila, zkus popsat,
jakou vlastnost by tedy měla mít proměnná, která je ve for cyklu za slovíčkem in
.
A teď už nějaké praktické příklady na programování.
Pomocí cyklu for
napiš program, který vypíše:
Řádek 0
Řádek 1
Řádek 2
Řádek 3
Řádek 4
Pomocí cyklu for
napiš program, který vypíše:
0 na druhou je 0
1 na druhou je 1
2 na druhou je 4
3 na druhou je 9
4 na druhou je 16
Pomocí cyklu for
a funkce range()
napiš program, který vypíše:
a
a
a
a
Budeš v těle cyklu vůbec muset použít iterační proměnnou?
Co se stane, když pro příkaz for
zavoláš funkci range
se dvěma parametry?
například range(4, 10)
Napiš program, který postupně z jednotlivých 'X'
vypíše:
X
X X
X X X
X X X X
První řádek nesmí být prázdný.
Co se stane, když pro příkaz for
zavoláš funkci range
se třemi parametry?
například range(10, 20, 2)
V těle cyků smíš samozřejmě používat vše, co jsi se dosud naučila.
Například provádět výpočty, používat if
, ptát se uživatele na vstup a vše ostatní.
Pomocí cyklu for
a příkazu if
napiš program, který vypíše následující řádky.
Funkci print
volej pouze uvnitř v cyklu:
první řádek
není první
není první
není první
Uhodni číslo.
Pomocí cyklu while
napiš program, který si vygeneruje náhodné číslo
a bude se tě ptát na tvůj tip dokud ho neuhodneš.
Po tvém tipu ti dá nápovědu, jestli je tvůj tip větší, nebo menší než hádané číslo.
Pokud ho uhodneš, program skončí a napíše: "Uhodla jsi!".
Výzva Předchozí program doplň o počítadlo pokusů.
Výzva Napiš program, který se desetkrát zeptá na číslo a nejmenší zadané číslo vypíše.
V tomto případě známe počet opakování, použij tedy cyklus for
.
Nevíš-li si rady, podívej se do materiálů na sekci Přepisování proměnných.
Místo sečítání budeš vybírat správnou hodnotu.
Cykly můžeš i zanořovat (mít jeden uprostřed druhého). V této sekci si to procvičíš. Dávej dobrý pozor na správné pojmenování proměnných, aby ses nezamotala.
Pomocí dvou cyklů for
a parametru end
pro print
napiš program,
který vypíše následující tvar:
X X X X X
X X X X X
X X X X X
X X X X X
X X X X X
Pomocí dvou cyklů for
a parametru end
pro print
napiš program,
který vypíše „tabulku“ s násobilkou.
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 4 8 12 16
Výzva
Pomocí dvou cyklů for
a příkazu if
napiš program, který z jednotlivých 'X'
a mezer vypíše:
X X X X X X
X X
X X
X X
X X
X X X X X X
Vyber si jeden z předchozích úkolů a uprav jej tak, aby počet řádků a sloupců mohl zadat uživatel.
Želví kreslení! Tahle sekce tě seznámí se želví grafikou, kterou budeme používat v procvičování později a se kterou si vyhrají zejména ti, kteří mají rádi geometrii a matematiku.
Nakresli trojúhelník.
Poznámka: Rovnostranný trojúhelník má vnitřní úhly 60°. Želva se ale otáčí o vedlejší úhel 180 - 60 = 120°.
Nakresli pětiúhelník, šestiúhelník, sedmiúhelník, osmiúhelník.
Aby byly tvary zhruba stejně veliké, použij pro n
-úhelník délku strany např. 200/n
Výzva
Nakresli n
-úhelník, kde n
zadá uživatel.