我試圖在python中創建一個代碼。我已經有了一些函數和一個GUI,但現在我想在一個標籤中顯示一個函數的輸出。在標籤中顯示函數的輸出
比如我有最小的功能:
def minimum(numbers):
numbers.sort()
return numbers[0]
,我有這樣的標籤:
minimum = Label(secondFrame, text="Minumum:", font=("Verdana",10), fg="#000000")+str(minimum(list))
minimum.pack(anchor="w")
的str(minimum(list))
事情是不工作,因爲我得到一個錯誤索引列表超出範圍。
這是完整的代碼,但它是荷蘭語,所以我不知道你是否可以理解所有內容,但我真的希望有人能幫助我。
謝謝:)
代碼:
from Tkinter import *
venster=Tk()
lijst = []
#FUNCTIES
def klaar():
## while True: #Here i'm wondering how to get the last number in the list as well while you push 'klaar (ready)' instead of Volgende (next) At least this doesn't work
## e = invoer.get()
## lijst.append(e)
eersteFrame.grid_forget()
tweedeFrame.grid()
print "klaar"
return
def afsluiten():
venster.destroy()
print "afsluiten"
return
def opnieuw():
print "opnieuw"
tweedeFrame.grid_forget()
eersteFrame.grid
return
def opslaan():
print "opslaan"
return
def volgende():
while True:
e = invoer.get()
lijst.append(e)
print lijst
invoer.delete(0, END)
return
from math import sqrt
def gemiddelde(getallen):
return sum(getallen)/float(len(getallen))
def kwartiel_Q1(lijst):
list.sort(lijst)
x = len(lijst)
return lijst[x/4]
def kwartiel_Q3(lijst):
list.sort(lijst)
x = len(lijst)
Q3 = lijst[x/-4]
return Q3
def mediaan(lijst):
list.sort(lijst)
x = len(lijst)
return lijst[x/2]
def minimum(getallen):
getallen.sort()
return getallen[0]
def maximum(getallen):
getallen.sort()
return getallen[-1]
def modus(lijst):
return max(set(lijst), key=lijst.count)
def sd(lijst):
d2lijst=[]
lijst.sort()
gemiddelde = sum(lijst)/float(len(lijst))
for i in lijst:
d = i - gemiddelde
d2 = d**2
d2lijst.append(d2)
somd2n = sum(d2lijst)/float(len(lijst))
stdv = sqrt(somd2n)
return stdv
#FRAME
eersteFrame = Frame(master=venster)
eersteFrame.pack()
tweedeFrame = Frame(master=venster)
#LABEL
eersteLabel = Label(eersteFrame, text="Voer getal in en druk dan op\n 'Volgende', net zolang totdat u \nde getallen ingevoerd heb en \ndruk dan op 'Klaar'.", font=("Verdana",10), fg="#000000")
eersteLabel.pack()
derdeLabel = Label(tweedeFrame, text= "Dit zijn uw resultaten:", font=("Verdana",10), fg="#000000")
derdeLabel.pack()
aantal = Label(tweedeFrame, text="\nAantal getallen:", font=("Verdana",10), fg="#000000")
aantal.pack(anchor="w")
minimum = Label(tweedeFrame, text="Minumum:", font=("Verdana",10), fg="#000000")+str(minimum(lijst))
minimum.pack(anchor="w")
maximum = Label(tweedeFrame, text="Maximum:", font=("Verdana",10), fg="#000000")
maximum.pack(anchor="w")
gemiddelde = Label(tweedeFrame, text="Gemiddelde:", font=("Verdana",10), fg="#000000")
gemiddelde.pack(anchor="w")
modus = Label(tweedeFrame, text="Modus:", font=("Verdana",10), fg="#000000")
modus.pack(anchor="w")
mediaan = Label(tweedeFrame, text="Mediaan:", font=("Verdana",10), fg="#000000")
mediaan.pack(anchor="w")
kwartiel1 = Label(tweedeFrame, text="Eerste Kwartiel:", font=("Verdana",10), fg="#000000")
kwartiel1.pack(anchor="w")
kwartiel3 = Label(tweedeFrame, text="Derde Kwartiel:", font=("Verdana",10), fg="#000000")
kwartiel3.pack(anchor="w")
standaarddeviatie = Label(tweedeFrame, text="Standaarddeviatie:\n",font=("Verdana",10), fg="#000000")
standaarddeviatie.pack(anchor="w")
#INVOERVELD
invoer = Entry(eersteFrame, width=39)
invoer.pack()
invoer.get()
#KNOPPEN
Klaar = Button(eersteFrame, text="Klaar", width=10, command=klaar)
Volgende = Button(eersteFrame, text="Volgende", width=10, command=volgende)
Opnieuw = Button(tweedeFrame, text="Opnieuw", width=10, command=opnieuw)
Opslaan = Button(tweedeFrame, text="Opslaan", width=10, command=opslaan)
Afsluiten1 = Button(eersteFrame, width=10, text="Afsluiten", command=afsluiten)
Afsluiten2 = Button(tweedeFrame, width=10, text="Afsluiten", command=afsluiten)
Klaar.pack(anchor="se", side="right")
Volgende.pack(anchor="s", side="right")
Opnieuw.pack(anchor="se", side="right")
Afsluiten1.pack(anchor="sw", side="left")
Afsluiten2.pack(anchor="sw", side="left")
Opslaan.pack(anchor="s", side="right")
#VENSTER
venster.title("Statistiek")
venster.mainloop()
如果你得到關於指數的誤差超出範圍,考慮會發生什麼你'minimum'功能時'numbers'(或' getallen')是一個空的列表。 –
不要重新發明輪子 - [min()'builtin](http://docs.python.org/library/functions.html#min)存在的原因。 –