Newbie - Funktionsrückgabe - Label wiederholt sich ständig

Fragen zu Tkinter.
Antworten
rurblog
User
Beiträge: 1
Registriert: Sonntag 5. November 2017, 11:44

Hallo,

ich bin absolut neu bei Python. Habe mir einige Tutorials angesehen und viele Seiten durchgelesen. Leider komme ich nicht weiter und brauche eure Hilfe. Ich habe auch schon im Forum gestöbert, weiß aber leider nicht, wo nach ich genau suchen muss.

Hier mein Problem. Aus einem Array möchte ich per Zufall aus dem ersten Feld eine Beschreibung herausfiltern und aus dem zweiten Feld dazu eine Aufgabenstellung auch per Zufall ermitteln.

Das klappt selbst per Funktion schon sehr gut. Jedoch wird jedes Mal die Beschreibung und die Aufgabe aufs Neue ausgegeben. Gerne hätte ich diese oberhalb der Buttons und vielleicht sogar in eigenen Feldern. Das bekomme ich nicht hin.

Also im Sinne von:

--------------/---------/
Beschreibung. / Aufgabe /
-------------/---------
Button 1 Button 2

Für eure Hilfe danke ich euch sehr!!!
Hier mein Skript:
:shock:
#!/usr/bin/python3
import tkinter
import random


#Hauptfenster
mainWin = tkinter.Tk()
#Fenstergröße
mainWin.geometry("400x100")
#Fenstertitel
mainWin.title("The Reframing Game")

#funtion to button

def ende():
mainWin.destroy()

def zufall():
#Initialisierung des Randoms
random.seed()
#Tuple1 und Tuple2 als nicht veränderbare Größen kennzeichnen
tup1 = ("unbelehrbar", "frühreif", "aufsässig", "anhänglich", "hysterisch");
tup2 = ("reframen", "Wette", "Verschlimmerung", "verschreiben");
#Länge des Tuple1 auslesen
a=len(tup1)
#Zufallszahl ermitteln aus der Anzahl der Begriffe
x = random.randint(1,a)
#Länge des Tuple2 auslesen
b=len(tup2)
#Ausgabelabel

lb1 =tkinter.Label(mainWin, text = tup1[x-1])
lb1.pack()
lb2 =tkinter.Label(mainWin, text = tup2[x-1])
lb2.pack()

#Zufallszahl ermitteln aus der Anzahl der Begriffe
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@rurblog: bei Deinem Code fehlt ja die zweite Hälfte. »random.seed« Aufzurufen bringt nichts und sorgt im schlimmsten Fall dafür, dass die Zufallszahlen weniger zufällig werden. Wenn Du ein zufälliges Element aus einer Liste willst, gibt es »random.choice«. Alle Fenster-Elemente erzeugt man am besten in einer Funktion. Bei veränderlichen Inhalten nimmt man »StringVar«.
Antworten