Malý projektStredná30 XPÚloha 4/8

Šetrič obrazovky

Zadanie

Vytvor šetrič obrazovky: v okne bude textové pole (Entry) a tlačidlo (Button). Používateľ do poľa napíše text a po stlačení tlačidla sa tento text začne opakovane objavovať na plátne - zakaždým na náhodnom mieste a v náhodnej farbe, v pravidelných časových intervaloch (napríklad každú sekundu).

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.check("okno ma textove pole a tlacidlo", len(okno.entries()) >= 1 and len(okno.buttons()) >= 1)
    okno.type("Mente")
    okno.press()
    okno.wait(20000)
    texty = [t for t in okno.created("text") if t.text.strip() == "Mente"]
    okno.check("text sa objavuje opakovane", len(texty) >= 3, f"text sa objavil {len(texty)}-krat")
    okno.check("na roznych miestach", len({(round(t.coords[0]), round(t.coords[1])) for t in texty}) >= 3)
    okno.check("v roznych farbach", len({t.fill for t in texty}) >= 2)
    okno.check("postupne v case", len({t.created for t in texty}) >= 3)

    Očakávaný výstup

    okno ma textove pole a tlacidlo: OK
    text sa objavuje opakovane: OK
    na roznych miestach: OK
    v roznych farbach: OK
    postupne v case: OK

Po odoslaní riešenie overí ešte 1 skrytý test: iný text.

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.