Príkaz cyklu FOR
- napr. správanie príkazu FOR si môžeme vyskúšať v riadku shell (príkazový riadok):
Príklad1: Vytvorte program, ktorý nakreslí čiaru začínajúcu v bode [0,0] a končiacu v ľubovoľnom bode na kresliacej ploche:
import tkinter
import random
canvas=tkinter.Canvas(width=400, height=400)
canvas.pack()
x=random.randrange(400)
y=random.randrange(400)
canvas.create_line(0,0,x,y)
- ak by sme chceli, aby program pri spustení nakreslil túto čiaru viackrát, použili by sme príkaz cyklu FOR, ktorý dané príkazy zopakuje x-krát
- do grafickej plochy môžeme aj písať text:
for riadiaca_premenna in range
(cislo1, cislo2) , kde:
- nasledujúci program nakresli 5 čiar začínajúcich v bode [0,0] a končiacich v ľubovoľnom bode na kresliacom plátne:
import tkinter
import random
canvas=tkinter.Canvas(width=400, height=400)
canvas.pack()
for i in range(1,6): #program bude nasledujúce tri príkazy opakovať 5-krát
x=random.randrange(400)
y=random.randrange(400)
canvas.create_line(0,0,x,y, width=5,fill=random.choice(('green','red','blue')))
Úloha1: Nakreslite 5 semaforov na ľubovoľnom mieste na kresliacom plátne
Úloha2: Zistite, čo vykonávajú nasledujúce príkazy:
canvas.create_line(60,30,300,30)
canvas.create_line(60,50,300,50)
canvas.create_line(60,70,300,70)
canvas.create_line(60,90,300,90)
canvas.create_line(60,110,300,110)
Predchádzajúce príkazy vieme zapísať aj takto:
for i in range(20,100,20):
canvas.create_line(60,i,300,i)
alebo takto:
for i in range(1,6):
canvas.create_line(60,i*20,300,i*20)
print(i*20) #príkaz print zobrazí aktuálnu hodnotu i*20 v okne shell (príkazový riadok)
canvas.update() #príkaz zabezpečí aktualizáciu kresliaceho plátna
canvas.after(1000) #príkaz podrží vykonávanie programu na 1000milisekúnd
Úloha3: Pomocou príkazu FOR nakreslite:
Úloha4: Zmeňte farby čiar z predchádzajúcej úlohy. Program nech si vyberie z farby zelenej, žltej, modrej alebo červenej farby, pričom každú čiaru nech zmení na inú farbu:
Úloha5: Pomocou príkazu FOR nakreslite:
Úloha6: Úloha5: Pomocou príkazu FOR nakreslite oblohu plnú hviezd:
Čo sme sa dnes naučili?
- ako funguje príkaz cyklu FOR
- ako používať príkaz FOR pri kreslení
- ako sa správa príkaz for v príkazovom riadku
Použitá literatúra:
http://python.input.sk/02.html
http://macek.sandbox.cz/texty/python-tutorial-cz/tut/node5.html
https://zona.fmph.uniba.sk/fileadmin/fmfi/sluzby/elektronicke_studijne_materialy/Python1.pdf
http://www.programujemevpythone.sk
http://ics.upjs.sk/~jirasek/sps/sps2004/python/tut_CZ.pdf