Rad štvorcov
Zadanie
Nakresli rad aspoň 8 štvorcov zľava doprava, ktoré sa postupne zväčšujú a menia farbu - každý štvorec má inú farbu (stačia aj rôzne odtiene jednej farby, napríklad od svetlomodrej po tmavomodrú). Štvorce sa neprekrývajú, stoja vedľa seba. Ak chceš, nech pribúdajú postupne po jednom.
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(10000) stvorce = [r for r in okno.items("rectangle") if abs(abs(r.coords[2] - r.coords[0]) - abs(r.coords[3] - r.coords[1])) < 1] stvorce.sort(key=lambda s: min(s.coords[0], s.coords[2])) okno.check("aspon 8 stvorcov", len(stvorce) >= 8, f"stvorcov: {len(stvorce)}") strany = [round(abs(s.coords[2] - s.coords[0])) for s in stvorce] okno.check("zvacsuju sa zlava doprava", all(a < b for a, b in zip(strany, strany[1:])), f"strany: {strany}") okno.check("kazdy ma inu farbu", len({s.fill for s in stvorce}) == len(stvorce) and all(s.fill for s in stvorce)) okno.check("stoja vedla seba", all(min(b.coords[0], b.coords[2]) >= max(a.coords[0], a.coords[2]) - 1 for a, b in zip(stvorce, stvorce[1:])))Očakávaný výstup
aspon 8 stvorcov: OK zvacsuju sa zlava doprava: OK kazdy ma inu farbu: OK stoja vedla seba: 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.