10. hodina - Kreslenie textu¶
Išli sme 1. apríla do troch obchodov, v ktorých mali predajcovia veselú náladu. Každý od nás za nákup vypýtal náhodnú sumu peňazí z intervalu od
4
do20
eur. Napíš podprogramnakupy
, ktorý vygeneruje tri náhodné sumy, vypíše ich a na záver vypíše aj ich súčet, napríklad:Tvoj prvý nákup bol za 8 eur Tvoj druhý nákup bol za 12 eur Tvoj tretí nákup bol za 5 eur Spolu si zaplatil 25 eur
Prišli nám 3 veselé balíky. Každý má obdĺžnikový tvar. Balíky sme uložili na stôl vedľa seba. Šírka každého z nich je
100
a výška je náhodné číslo od10
do200
. Napíš program, ktorý ich nakreslí tromi rôznymi farbami, napríklad:
Ak chceš písať texty do grafickej plochy, musíš sa naučiť nový príkaz – vyskúšaj:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_text(150, 50, text='srdečný pozdrav z grafickej plochy')
Súradnice v príkaze
canvas.create_text
určujú stred vypisovaného textu:150
je x-ová súradnica50
je y-ová súradnica
Napíš príkazy do programu, ktorými takto pomenuješ okraje grafickej plochy (súradnice odhadni):
Do premenných
x1
,y1
,x2
,y2
priraď súradnice dvoch protiľahlých vrcholov obdĺžnika (napríklad100
,50
,330
,200
). Nakresli obdĺžnik s týmito súradnicami. Pomocou príkazovcanvas.create_text
a premennýchx1
,y1
,x2
,y2
označ všetky vrcholy písmenamiA
,B
,C
,D
:
Uprav príkazy pre písanie textov v predchádzajúcom programe tak, aby sa označenia vrcholov neprekrývali s čiarami obdĺžnika:
Vypíš do grafickej plochy riadky svojej obľúbenej pesničky, napríklad:
Vyrob si svoj štítok. V novom programe priraď do premenných
x
,y
súradnice stredu. Potom nakresli biely obdĺžnik veľkosti, napríklad,50 x 20
a do jeho stredu napíš svoje meno.
Uprav predchádzajúci program tak, že vyrobíš z kreslenia štítku podprogram
stitok
. Podprogram bude kresliť štítok na náhodnéx
,y
. Nakoniec podprogram desať krát zavolaj.
Bez použitia počítača zisti, aká veta sa objaví v grafickej ploche:
canvas.create_text(random.randint(180, 260), 40, text='den') canvas.create_text(random.randint(80, 110), 50, text='je') canvas.create_text(random.randint(120, 170), 70, text='pekny') canvas.create_text(random.randint(30, 70), 60, text='dnes')
Napíš podprogram
nahodne_cislo
, ktorý na náhodnú pozíciu v grafickej ploche vypíše náhodné šesťciferné číslo – teda číslo z intervalu od100000
do999999
. Po niekoľkých zavolaniach podprogramu môžeme dostať napríklad takýto výsledok:Príkaz
create_text
vie vypísať aj čísla alebo hodnoty výrazov. Napríklad môžeš napísať:canvas.create_text(x, y, text=123+456)
a vypísal by sa text
579
.