13. hodina - Výrazy v cykle¶
Minule si vytváral program, ktorý v textovom režime pomocou príkazov
for
aprint
vypísal čísla a ich druhé mocniny. Vytvor takýto program, ale čísla a ich druhé mocniny zobraz v grafickej ploche pomocou príkazovcanvas.create_text
.
Je daný nasledujúci program:
import tkinter canvas = tkinter.Canvas() canvas.pack() y = 10 for i in range(11): canvas.create_text(10, y, text=i) y = y + 20
Doplň tabuľku, aby bolo vidno, ako sa menia premenné
i
ay
počas vykonávania cyklu:i
y
v príkazecreate_text
y
po vykonaníy = y + 20
0
10
30
1
30
2
.
.
.
.
.
.
.
.
Akú hodnotu bude mať premenná
y
po skončení cyklu?
Pomocou cyklu nakresli
9
štvorčekov so stranou30
s medzerami10
. Použi premennúx
, v ktorej budex
-ová súradnica ľavého horného rohu kresleného štvorčeka a v cykle ju zvyšuj o40
.
Zlatokop našiel poklad,
10
zlatých kociek rôznych veľkostí. Tie postupne ukladal na stôl tesne vedľa seba. Vytvor program, ktorý taký poklad nakreslí. Každá zlatá kocka má náhodne zvolenú veľkosť z rozsahu od10
po40
. Použi premennú na to, aby si do nej uložil náhodné číslo pre veľkosť kocky. Použi inú premennú, aby si evidovalx
-ovú pozíciu kocky.
Vylepši predchádzajúci program tak, aby bola medzi zlatými kockami medzera
5
.
Hráme počítačovú hru, ktorá má
10
levelov. Po úspešnom prejdeníi
-teho levelu získamei
bodov. Napríklad, po prejdení prvého levelu získame1
bod. Po prejdení druhého levelu sa nám ku skóre pripočítajú2
body, takže spolu už máme3
body. Po prejdení tretieho levelu sa nám pripočítajú3
body, takže naše skóre bude6
bodov atď. Napíš program, ktorý pomocouprint
a cyklu vypíše, ako rastie skóre po prejdení každého levelu.Po leveli 1 bude tvoje skóre 1 bodov. Po leveli 2 bude tvoje skóre 3 bodov. Po leveli 3 bude tvoje skóre 6 bodov. Po leveli 4 bude tvoje skóre 10 bodov. Po leveli 5 bude tvoje skóre 15 bodov. Po leveli 6 bude tvoje skóre 21 bodov. Po leveli 7 bude tvoje skóre 28 bodov. Po leveli 8 bude tvoje skóre 36 bodov. Po leveli 9 bude tvoje skóre 45 bodov. Po leveli 10 bude tvoje skóre 55 bodov.
Poznáš rozprávku o prefíkanom mudrcovi a šachovi, ktorý sľúbil za odmenu toľko zrniek pšenice, koľko sa zmestí na políčka šachovnice? Pomôž šachovi v rozhodovaní, či je taká odmena adekvátna a vytvor preňho jednoduchý program, ktorý vypíše celkový počet zrniek na šachovnici. Na prvé políčko dáme
10
zrniek, na druhé20
, na tretie30
atď. Políčok na šachovnici je64
.
V skutočnosti predchádzajúca rozprávka bola taká, že na prvé políčko dáme
1
zrnko, ale na každé ďalšie dvojnásobok predchádzajúceho (t.j.2
,4
,8
, …). Vytvor program, ktorý zistí celkový počet zrniek na šachovnici.
(*)
Vytvor program, ktorý pomocou cyklu nakreslí vysielač na Ještěde:Kreslenie môžeš začať od spodného obdĺžnika. Ten má šírku
210
a výšku10
. Každý ďalší obdĺžnik leží na predchádzajúcom, je užší o40
a vyšší o10
.