Wie findet Ihr denn Code?
noten = []

def noten_schuelern(name, mathe, deutsch, englisch, bericht):
    noten.append({"Name": name, "Mathe": mathe, "Deutsch": deutsch, "Englisch": englisch, "Bericht": bericht})
    print(f"Der Schüler {name} wurde hinzugefügt mit seiner Information.")


def durchschnit(name, mathe, deutsch, englisch):
    info = []
    schnitt = (mathe + deutsch + englisch) / 3
    runden = round(schnitt, 4)
    info.append({name, runden})
    print(f"Der Schüler {name} mit dem Notenschnitt von {runden}")


def schueler_anzeigen(name):
    heraus = [schueler for schueler in noten if name.lower() in schueler["Name"].lower()]
    if heraus:
        print(f"Die Information: {noten}")
    else:
        print("Schüler wurde nicht gefunden!")


def menue():
    while True:
        print("__Menü__")
        print("1. Die Noten der Schüler hinzufügen")
        print("2. Der Durschnitt berechnen")
        print("3. Schüler anzeigen")
        print("4. programm beenden")

        wahl = int(input("Bitte wählen sie einer der Optionen aus:"))

        if wahl == 1:
            name = input("Bitte geben sie denn Name der Schüler ein:")
            mathe = int(input("Mathe Note:"))
            deutsch = int(input("Deutsch Note:"))
            englisch = int(input("Englisch Note:"))
            bericht = input("Schreiben sie informationen üben denn Schüler:")
            noten_schuelern(name, mathe, deutsch, englisch, bericht)

        elif wahl == 2:
            Name = input("Schüler Name:")
            Mathe = int(input("Mathe Note:"))
            Deutsch = int(input("Deutsch Note:"))
            Englisch = int(input("Englisch Note:"))
            durchschnit(Name, Mathe, Deutsch, Englisch)

        elif wahl == 3:
            nname = input("Geben sie denn schüler Namen ein:")
            schueler_anzeigen(nname)

        elif wahl == 4:
            print("Programm wird beendet")
            break
        else:
            print("Bitte geben sie was gültiges ein")


menue()


HABE ALLES ALLEINE PROGRAMMIERT AUßER DIE ZEILE DEF ANZEIGEN
Computer, programmieren, Code, Programmiersprache, Python, Python 3
Python GUI Tkinter Buttons blinken bei laufender Akutalisierung?

Hallo,

ich möchte mit Phyton und der Bibliothek Tkinter eine GUI für ein Kartenspiel programmieren.

Für das Kartenspiel müssen ständig neue Karten geladen werden.

Das heißt, es wird zum Beispiel andauernd überprüft wie viele Karten die Spieler in der Auslage und in der Hand haben und dementsprechend werden dann Labels und Buttons generiert.

Die Idee ist, einfach laufend die GUI in gewissen Abständen (zum Beispiel einige Dutzend Millisekunden) zu aktualisieren.

Wenn ich das mache blinken die Labels und Buttons aber immer auf.

Nach Recherche soll das daran liegen, dass sie immer wieder in zu kurzen Abständen neu erstellt werden.

Man könnte die GUI natürlich immer nur dann neu erstellen lassen, wenn tatsächlich im Spiel etwas passiert.

Das passiert aber andauernd, weswegen es besser ist, einfach laufend die GUI zu aktualisieren.

Gibt es dafür noch eine andere Methode (Zum Beispiel PyGame anwenden)?

Hier ein Minimalbeispiel:

class DynamicInterfaceApp:
  def __init__(self):
    self.root = Tk()
    self.root.geometry("1000x500")
    self.update_interface_periodically()
  
  def update_interface(self):
    self.my_frame= Frame(self.root, bg="red")
    self.my_frame.place(x=0, y=0, relwidth=1, relheight=1) 
    self.my_button = Button(self.my_frame)
    self.my_button.place(x=0, y=0, width=50, height=50)
   
  def update_interface_periodically(self):
    self.update_interface()
    self.root.after(25, self.update_interface_periodically)

app = DynamicInterfaceApp()
app.root.mainloop()
App, Code, Programmiersprache, Python, Pygame, Tkinter

Meistgelesene Beiträge zum Thema Code