Tässä esimerkissä lasketaan lukujonoja graafisen käyttöliittymän kautta. Lukujonot ovat fibonacci -tai tetraedripohjaisia ja ne jaetaan molemmat kolmen osaan. Näistä osista muodostetaan summa käyttäjän valintojen mukaan. Lopuksi näytetään valinnan mukaiset lukujonot.
from tkinter import * root = Tk() maara = 0 def Laske(valinta): #Lasketaan lukujonot. #Lukujono voi olla fibonacci -tai tetraedripohjainen a = 0 b = 0 c = 0 summa = 0 tulos = "" tulos2 = "" tulos3 = "" tulos4 = "" if (valinta == 1): #Tetraedripohjainen a = 0 b = 0 c = 0 for x in range(maara): a += 1 b += a c += b summa = 0 if (var1.get() == 1): tulos += str(a) + " " summa += a if (var2.get() == 1): tulos2 += str(b) + " " summa += b if (var3.get() == 1): tulos3 += str(c) + " " summa += c tulos4 += str(summa) + " " elif (valinta == 2): #Fibonaccipohjainen a = 0 b = 1 for x in range(maara): c = a+b summa = 0 if (var1.get() == 1): tulos += str(a) + " " summa += a if (var2.get() == 1): tulos2 += str(b) + " " summa += b if (var3.get() == 1): tulos3 += str(c) + " " summa += c tulos4 += str(summa) + " " temp = b b = c a = temp return tulos,tulos2,tulos3,tulos4 def Toiminto(): global maara maara += 1 valinta = var.get() tulos = "" tulos2 = "" tulos3 = "" tulos4 = "" #Lasketaan tulokset erillisen funktion kautta ja näytetään sitten tulokset. tulos,tulos2,tulos3,tulos4 = Laske(valinta) l1.config(text=tulos) l2.config(text=tulos2) l3.config(text=tulos3) l4.config(text=tulos4) #Luodaan kontrollit. #Ohjelmassa on kaksi kehystä frame = Frame(root) frame.pack() var = IntVar() var1 = IntVar() var2 = IntVar() var3 = IntVar() #Ensimmäiseen kehykseen asetetaan valinnat. radio1 = Radiobutton(frame,text="Tetraedri",variable=var,value=1) radio1.pack() radio2 = Radiobutton(frame,text="Fibonacci",variable=var,value=2) radio2.pack() check1 = Checkbutton(frame,text="Luku/a",variable=var1, onvalue=1,offvalue=0) check1.pack() check2 = Checkbutton(frame,text="Kolmio/b",variable=var2, onvalue=1,offvalue=0) check2.pack() check3 = Checkbutton(frame,text="Tetraedri/summa",variable=var3, onvalue=1,offvalue=0) check3.pack() frame2 = Frame(root) frame2.pack() #Toiseen kehykseen asetetaan muut kontrollit. button = Button(frame2,text="Toiminto",command=Toiminto) button.pack() l1 = Label(frame2) l1.pack() l2 = Label(frame2) l2.pack() l3 = Label(frame2) l3.pack() l4 = Label(frame2) l4.pack() root.mainloop()
Aihe on jo aika vanha, joten et voi enää vastata siihen.