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.