Štvorec, ktorý mení farby
Zadanie
Vytvor program, v ktorom bude na plátne štvorec, ktorý mení farby: aspoň raz za sekundu dostane novú, náhodnú farbu (za pár sekúnd sa má ukázať aspoň 3 rôzne farby).
Použi časovač - buď funkciu, ktorá sa príkazom canvas.after(ms, funkcia) naplánuje znova, alebo cyklus s canvas.update() a canvas.after(ms).
Program beží v simulácii tkinteru priamo v prehliadači - po spustení uvidíš okno a môžeš doň klikať. Testy klikajú a kontrolujú, čo sa na plátne nakreslilo.
Príklady
Volanie
from tkinter import _mente as okno okno.wait(5000) stvorce = [r for r in okno.created("rectangle") if abs(abs(r.coords[2] - r.coords[0]) - abs(r.coords[3] - r.coords[1])) < 1 and abs(r.coords[2] - r.coords[0]) >= 10] okno.check("na platne je stvorec", len(stvorce) > 0) zmeny = [(t, farba) for t, farba in okno.fills_over_time() if farba] farby = {farba for t, farba in zmeny} casy = sorted({t for t, farba in zmeny}) okno.check("stvorec meni farby", len(farby) >= 3, f"roznych farieb: {len(farby)}") okno.check("farby sa menia postupne", len(casy) >= 3 and casy[-1] - casy[0] >= 1000, f"casy zmien: {casy[:4]}")Očakávaný výstup
na platne je stvorec: OK stvorec meni farby: OK farby sa menia postupne: OK
Python sa spustí pri prvom spustení kódu.
Ctrl+Enter spustí program. Tab odsadí riadok. Esc a potom Tab opustí editor.
Vstup (stdin)
Každý riadok = jedno volanie input().
Výstup
Nápovedy
Najprv to skús sám. Každá nápoveda prezradí o niečo viac - a trochu zníži odmenu.
Bez prihlásenia sú nápovedy zadarmo - ale ani XP sa neudeľujú.
Riešenie
Riešenie sa odomkne po poslednej nápovede.