Tämä koodi esittää sekä graafista käyttöliittymää että olio-ohjelmointia. Luokassa Fibonacci on kaksi metodia, joista ensimmäinen tallentaa sanakirjaan arvoja listamuodossa ja toinen palauttaa listan. Luokalla on oletuskonstruktori ja yksi attribuutti. Graafisessa käyttöliittymässä eri osat on jaettu kehyksiin. Lisäksi koodissa on lista, johon vaihtoehtoisesti voidaan lisätä tietoa.
from tkinter import * class Fibonacci: #Seuraavaan sanakirjaan lisätään lukulistoja, jotka lasketaan fibonaccin lukujonon mukaan. luvut = {} def AsetaFibonacci(self,avain,maara): #Luodaan fibonacci lista. a = 0 b = 1 summa = 0 luku = [] for i in range(maara): summa = a+b luku.append(summa) temp = b b = summa a = temp #Tallennetaan sanakirjaan. self.luvut[avain] = luku def AnnaFibonacci(self,avain): return self.luvut[avain] def AnnaKaikki(self): return self.luvut def Aseta(): #Otetaan lähtötiedot GUI:n kontrolleista ja lasketaan tulos olion kautta. fib_1 = Fibonacci() avain = teksti.get() maara = int(var.get()) fib_1.AsetaFibonacci(avain,maara) def Lue(): fib_1 = Fibonacci() avain = teksti.get() nimilappu.config(text=str(fib_1.AnnaFibonacci(avain))) def Listaan(): lista.delete(0,"end") #Otetaan sanakirja. fib_1 = Fibonacci() luvut = fib_1.AnnaKaikki() for i in luvut: lista.insert("end",luvut[i]) def Poista(event): for i in lista.curselection(): lista.delete(i) #Luodaan graafinen käyttöliittymä. root = Tk() syotteet = Frame(root) syotteet.pack() #Luodaan syöttö kontrollit. teksti = Entry(syotteet,text="Avain") teksti.pack() var = DoubleVar() saadin = Scale(syotteet,variable=var,from_=0,to=10) saadin.pack() #Luodaan toimintkontrollit. toiminnot = Frame(root) toiminnot.pack() nappain = Button(toiminnot,text="Aseta",command=Aseta) nappain.pack() nappain2 = Button(toiminnot,text="Lue",command=Lue) nappain2.pack() nappain3 = Button(toiminnot,text="Listaan",command=Listaan) nappain3.pack() #Luodaan tulostekontrolli. tuloste = Frame(root) tuloste.pack() nimilappu = Label(tuloste,text="0") nimilappu.pack() lista = Listbox(tuloste,selectmode=MULTIPLE) lista.bind('<<ListboxSelect>>',Poista) lista.pack() root.mainloop()
Sinä kun tykkäät vääntää näitä calculation jutskia niin väännä seuraavaksi vaikkapa Odemark's Equation soleveri.
EDIT: Uskoisin, että jos saat Tkinter pohjalta aikaan toimivan softan niin jopa Metabolix antaa kehuja 😁
Aihe on jo aika vanha, joten et voi enää vastata siihen.