Python... de inkább matematika... de mindenképpen kezdő.. LOOL
Re
Szóval a lényegre térek..
Adott egy feladat:
A « Vonalat rajzol » gombra kattintva a
vásznon megjelenik egy új, színes vonal, ami
minden alkalommal elhajlik az előzőtől.
Ha a « Más szín » gombra kattintunk, akkor
egy véges színkészletből véletlenszerűen egy új színt választ a script. Ez lesz a következő egyenes
színe.
A « Kilép » gomb az alkalmazás befejezésére és az ablak zárására való.
És adott a megoldás:
from Tkinter import *
from random import randrange
# --- az eseménykezel függvények definíciója : --ő -
def drawline():
global x1, y1, x2, y2, color
can1.create_line(x1,y1,x2,y2,width=2,fill=color)
# a koordináták módosítása a következő egyenes számára :
y2, y1 = y2+10, y1-10
def changecolor():
global color
pal=['purple','red','blue','orange','yellow']
c = randrange(8) # => véletlenszám generálása 0 és 7 között
color = pal[c]
#------ Főprogram -------
# a következő változókat globális változókként használjuk :
x1, y1, x2, y2 = 10, 190, 190, 10 # az egyenes koordinátái
color = 'dark red' # az egyenes színe
# A fő-widget létrehozása ("master") :
abl1 = Tk()
# a "slave" widget-ek létrehozása :
can1 = Canvas(abl1,bg='dark grey',height=500,width=650)
can1.pack(side=LEFT)
gomb1 = Button(abl1,text='Kilép',command=abl1.quit)
gomb1.pack(side=BOTTOM)
gomb2 = Button(abl1,text='Vonalat rajzol',command=drawline)
gomb2.pack()
gomb3 = Button(abl1,text='Más szín',command=changecolor)
gomb3.pack()
abl1.mainloop() # eseményfogadó indítása
abl1.destroy()
Rendben, értem is a feladatot, de a köv. feladat azt kéri, hogy egy módosítás után a vonalak, amiket ezután a vászonra rajzol vízszintes és függőlegesek legyenek.
Azt tudom, hogy az x1, x2, y1, y2 írja le a koordinátákat, de nem értem a logikát, hogy miszerint befolyásolja a függvények közti szöget.. ezért kérem hogy valaki magyarázza el..
remélem, hogy eléggé érthetően írtam le amit nem értek..
Tudom, hogy ostoba kérdés és bocsánat a hosszú tartalomért, de nem szeretném ennyiben hagyni a dolgot, mert a többi feladat is erre épül..
Előre is köszönöm..
egy kezdő Pythonozó..
- Tovább (Python... de inkább matematika... de mindenképpen kezdő.. LOOL)
- 1530 megtekintés