Napiš program, který se zeptá na dva řetězce a zjistí, jestli je jeden obsažen ve druhém. Nebere přitom ohled na velikost písmen.
Následující sada úkolů procvičuje různá použití cyklu for
.
Úkoly na sebe navazují, řeš je postupně.
Pomocí cyklu for
a funkce range()
napiš program, který vypíše:
a
a
a
a
Pomocí cyklu for
napiš program, který vypíše:
Řádek 0
Řádek 1
Řádek 2
Řádek 3
Řádek 4
Jak nejlépe pojmenovat proměnnou pro minulý příklad? Vymysli pro ni název, který nejlépe vystihuje, co proměnná obsahuje.
Je důležité proměnnou pojmenovat výstižně, jinak se v dalších úkolech můžeš ztratit.
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
Jak pojmenuješ proměnnou cyklu?
Pomocí cyklů for
a parametru end
pro print
napiš program, který
postupně z jednotlivých 'X'
vypíše:
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
„Z jednotlivých 'X'
“ znamená, že každý print
vypíše maximálně jedno 'X'
.
Nepoužívej tedy např. print('X X X X X')
ani print('X ' * 5)
.
Jak pojmenuješ proměnnou cyklu? A tu druhou?
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
K oddělení sloupců použij znak tabulátoru.
Tabulka je podobná předchozí, jen má v každé "buňce" hodnotu "číslo řádku × číslo sloupce".
Napiš program, který postupně z jednotlivých 'X'
vypíše:
X
X X
X X X
X X X X
„Z jednotlivých 'X'
“ opět znamená, že každý print
vypíše maximálně
jedno 'X'
.
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í
Pomocí cyklů for
a příkazu if
napiš program, který z jednotlivých 'X'
vypíše:
X X X X X X
X X
X X
X X
X X
X X X X X X
„Z jednotlivých 'X'
“ opět znamená, že každý print
vypíše maximálně
jedno 'X'
.
Napiš program, který vypíše „tabulku“ s násobilkou.
Počet řádků a sloupců zadá uživatel.
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
K oddělení sloupců použij znak tabulátoru.
Napiš program, který postupně z jednotlivých 'X'
vypíše:
X
X X
X X X
X X X X
Počet řádků zadá uživatel.
„Z jednotlivých 'X'
“ opět znamená, že každý print
vypíše maximálně
jedno 'X'
.
Pomocí cyklů for
a příkazu if
napiš program, který z jednotlivých 'X'
vypíše:
X X X X X X
X X
X X
X X
X X
X X X X X X
Počet řádků a sloupců zadá uživatel.
„Z jednotlivých 'X'
“ opět znamená, že každý print
vypíše maximálně
jedno 'X'
.
Napiš program, který z jednotlivých 'X'
vypíše pyramidu.
Nezapomeň na správné odsazení.
Příklad:
X
X X
X X X
X X X X
X X X X X
Počet řádků zadá uživatel.
„Z jednotlivých 'X'
“ opět znamená, že každý print
vypíše maximálně
jedno 'X'
.
Následující sada úkolů ti ukáže zajímavou vlastnost řetězců. Zpomal a zamysli se.
Co dělá tenhle kód?
for c in 'Ahoj světe!':
print(c)
Vymyslíš lepší jméno pro proměnnou c
z minulé úlohy?
Co dělá tenhle kód?
for c in 38:
print(c)
Najdi na internetu text své oblíbené písně, zkopíruj si ho do řetězce
a zjisti, kolikrát je v něm použito písmeno K. (Velké nebo malé.)
Vyhni se použití count()
.
Text by mělo jít jednoduše vyměnit za jiný.
Najdi na internetu text své oblíbené písně, zkopíruj si ho do řetězce
a zjisti, kolik je v něm písmen.
Nepočítej mezery, znaky nového řádku a znaky
!"#$%&\'()*+,-./:;<=>?@[\]^_{|}~
.
Text písně by mělo jít jednoduše vyměnit za jiný.
Postup:
!
"
#
$
%
&
… :Další úkoly na procvičení cyklů
Napiš program, který se ptá uživatele na čísla do té doby, než zadá 0. Poté vypíše nejmenší ze zadaných čísel. (Pozor: nula se mezi porovnávaná čísla nepočítá.)
Nápověda: průběžně stačí ukládat jen údaj, které číslo je aktuálně to nejmenší.
Napiš program, který po zadání správného hesla vypíše nějakou „tajnou informaci“. Nechej uživatele zadávat heslo, dokud ho nezadá správně.
Vhodné tajemství je třeba: V pátek jsem viděl černého havrana.
Naprogramuj hádání čísla: počítač vygeneruje náhodné číslo z rozsahu 1 až 100, ale nevypíše ho. Nechá uživatele v cyklu se ptát na to číslo a vypíše pouze informaci, jestli je hádané číslo větší nebo menší než náhodné číslo.
Napiš program, který se zeptá uživatele na heslo a zjistí, jestli:
+@#$%^&*
Pokud heslo nesplňuje aspoň jednu z těchto podmínek, program poinformuje o tom uživatele, a ukončí se. Pokud je heslo správně (= splňuje všechny podmínky), program řekne uživateli tajemství.
Uprav hru Oko bere, aby hra trvala tolik kol, dokud hráč nevyhraje nebo neprohraje - ani jedno kolo déle.
Máme tu i tradiční hru!
Vytvoř hru Šibenice podle následujícího popisu.
trávník
, stromek
, stavení
.index
a podprogram zamen
*
z materiálů.)* Podprogram zamen
jsme měli v materiálech:
# Ve slově `slovo` zaměnit znak na pozici `pozice` za `novy_znak`;
# výsledek bude v proměnné `nove_slovo`.
zacatek = slovo[:pozice]
konec = slovo[pozice + 1:]
nove_slovo = zacatek + novy_znak + konec
Funguje-li ti hra sibenice
, můžeš ji vylepšit.
!
), nepovažuj to za tah.Jednotlivá vylepšení dělej jednotlivě. Počkej, až ti kouč řešení vylepšení schválí, než postoupíš na další.