2 "novinky" :) Písanie textu do grafickej plochy Canvas a cyklus FOR.
V grafickej ploche vieme pomocou príkazu canvas.create_text(30, 40, text="Ahoj") vyvoriť text. Súčasťou príkazu sú dva číselné argumenty, vyjadrujú súradnice x a y, určujúce stred "vykresleného" textu a pomenovaný argument text určujuci čo za text sa má v grafickej ploche zobraziť. Pre prácu s grafickou plochou nezabudi na riadky sprístupňujúce knižnicu tkinter. Vykreslovanie textu je užitočné pri pomocných označeniach pre používateľa nášho programu, napríklad ak by sme v grafickej ploche zobrazovali "rysovanie" geometrickej úlohy alebo graf, v grafickej ploche môže byť vytovrená aj hra - pomocou textu zobrazíme informácie o aktuálnom leveli, životoch, zostávajúcej munícii...
import tkinter
canvas = tkinter.Canvas(width=400, height=300)
canvas.pack()
canvas.create_text(200, 150, text="Ahoj")
pouzitie prikazu canvas.create_text() - program
pouzitie prikazu canvas.create_text() - výstup
V programe častokrát potrebujeme nejaký príkaz alebo skupinu príkazov vykonať viackrát za sebou. Napríklad by sme mohli do grafickej plochy kresliť 5 červených štvorčekov na náhodnej pozícii. Náš program by mohol vyzerať napríklad takto:
import tkinter
import random
canvas = tkinter.Canvas(width=400, height=300)
canvas.pack()
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
Opakujúcu sa časť kódu môžeme umiestniť do cyklu FOR:
import tkinter
import random
canvas = tkinter.Canvas(width=400, height=300)
canvas.pack()
for i in range(50):
x = random.randint(0, 390)
y = random.randint(0, 290)
canvas.create_rectangle(x, y, x+10, y+10, fill="red")
Všimnite si syntax pre cyklus FOR, dôležitý je riadok for i in range(50):. Cyklu sa budeme venovať bližšie na nasledujúcich hodinách, teraz je najdôležitejším prvkom v tomto riadku číslo v zátvorke - určuje, koľkokrát sa cyklus vykoná - počet iterácií cyklu. Pod týmto riadkom nasleduje telo cyklu - skupina príkazov, ktoré sa vykonajú stanovený počet krát. Príkazy v tele cyklu sú odsadené 1 tabulátorom - podobne ako pri definícii procedúry je tento tabulátor dôležitý - podľa neho Python vie, ktoré príkazy sú súčasťou tela cyklu a ktoré už nie.