Einen Radiobutton löschen

Fragen zu Tkinter.
Antworten
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

Guten tag, ich schreibe gerade an einem Programm für die Schule "wer wird Millionär" und Benutze dafür für die Antwortmöglichkeiten Radiobuttons nun möchte ich aber wenn ich einen fifty fifty Joker benutze das 2 falsche radiobuttons (die sind schon definiert welche es sind) gelöscht werden und durch 2 neue ersetzt werden( habe ich auch schon) nur finde ich im Internet keine Möglichkeit einfach einen Radiobutton aus dem Fenster zu entfernen mit einem command

bitte helft mir
(wenn es geht mit Code wie das ganze funktioniert damit ich es nachvollziehen kann.)
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@Floflo7201: intuitiver für mich wäre es, wenn die beiden falschen Antworten einfach ausgegraut werden:

Code: Alles auswählen

check['state'] = tk.DISABLED
BlackJack

@Floflo7201: Ich würde die nicht löschen und ersetzen sondern über die `state`-Option auf `DISABLED` setzen und gegebenfalls den Text ändern und sicherstellen das keine von den beiden ausgewählt war/ist.

Bei diesem Spiel kann man die GUI-Elemente *einmal* am Anfang erzeugen und problemlos das ganze Spiel hindurch verwenden. Widgets löschen sollte also eigentlich gar nicht nötig sein und ist auch unüblich.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

was macht check["state"] = tk.DISABLED?
auserdem wenn ich tk disable dann ist doch alles disabled?
und ich will ja nur 2 Radio Buttons disablen?
und wie genau disable ich die 2 radiobuttons für die zeit?
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

@BlackJack:
BlackJack hat geschrieben:@Floflo7201: Ich würde die nicht löschen und ersetzen sondern über die `state`-Option auf `DISABLED` setzen und gegebenfalls den Text ändern und sicherstellen das keine von den beiden ausgewählt war/ist.

Bei diesem Spiel kann man die GUI-Elemente *einmal* am Anfang erzeugen und problemlos das ganze Spiel hindurch verwenden. Widgets löschen sollte also eigentlich gar nicht nötig sein und ist auch unüblich.
Naja mir geht es ja darum das ich nen 50/50 Joker benutzen kann und dann die 2 antworten weg sind.

das hier ist jetzt ein stück

Code: Alles auswählen

Radiobutton(fenster, text="Tipitaka", variable=v, value=4, command=vändern2).grid(row=2, column=1)
wie disable ich den?
BlackJack

@Floflo7201: ``check["state"] = tk.DISABLED`` geht davon aus das das Tkinter-Modul an den Namen `tk` gebunden ist, also ist `tk.DISABLED` die Konstante `DISABLED` aud dem Modul. `check` ist das `Checkbutton`-Objekt. Und dessen `state` wird durch diese Zuweisung auf `DISABLED` gesetzt. Damit wird der `Checkbutton` deaktiviert, also entsprechend anders dargestellt und kann vom Benutzer nicht mehr ausgewählt werden.

Das muss Du mit den beiden `Checkbutton`-Objekten machen die deaktiviert werden sollen.

Das zwei Antworten nicht mehr zur Verfügung stehen sollen, heisst ja nicht das man die GUI-Elemente löschen muss. Die dürfen halt nur nicht mehr auswählbar sein, und eventuell könnte man noch den Text ändern.

Edit: Du musst den halt an einen Namen binden oder in diesem Fall wahrscheinlich eher in eine Datenstruktur stecken. Und wie schon gesagt nicht dauernd solche Buttons erstellen und löschen, sondern die GUI einmal am Anfang des Programms erstellen und dann im Laufe des Spiels entsprechend die Inhalte der GUI-Elemente verändern.

Das der Text und die Position im Grid da als feste Werte stehen, lässt aber erahnen das das Programm noch ganz andere, grundlegendere Probleme hat. Und für GUIs muss man eigentlich auch objektorientierte Programmierung (OOP) beherrschen und anwenden.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

@BlackJack:
BlackJack hat geschrieben:@Floflo7201: ``check["state"] = tk.DISABLED`` geht davon aus das das Tkinter-Modul an den Namen `tk` gebunden ist, also ist `tk.DISABLED` die Konstante `DISABLED` aud dem Modul. `check` ist das `Checkbutton`-Objekt. Und dessen `state` wird durch diese Zuweisung auf `DISABLED` gesetzt. Damit wird der `Checkbutton` deaktiviert, also entsprechend anders dargestellt und kann vom Benutzer nicht mehr ausgewählt werden.

Das muss Du mit den beiden `Checkbutton`-Objekten machen die deaktiviert werden sollen.

Das zwei Antworten nicht mehr zur Verfügung stehen sollen, heisst ja nicht das man die GUI-Elemente löschen muss. Die dürfen halt nur nicht mehr auswählbar sein, und eventuell könnte man noch den Text ändern.

Edit: Du musst den halt an einen Namen binden oder in diesem Fall wahrscheinlich eher in eine Datenstruktur stecken. Und wie schon gesagt nicht dauernd solche Buttons erstellen und löschen, sondern die GUI einmal am Anfang des Programms erstellen und dann im Laufe des Spiels entsprechend die Inhalte der GUI-Elemente verändern.

Das der Text und die Position im Grid da als feste Werte stehen, lässt aber erahnen das das Programm noch ganz andere, grundlegendere Probleme hat. Und für GUIs muss man eigentlich auch objektorientierte Programmierung (OOP) beherrschen und anwenden.
Ich finde es sehr interessant was du hier schreibst nur leider lerne ich gerade mal seit einem halben Jahr python in der schule und beschäftige mich zuhause halt rellativ viel damit nur bin ich gerade an einer stelle wo ich mit tutorials und so nicht mehr viel lernen kann nun zu ALLEN meinen fragen tut mir leid das ich nicht so viel weis
Meine frage ist eigentlich gesamt "Edit:"Du musst den halt an einen Namen binden oder in diesem Fall wahrscheinlich eher in eine Datenstruktur stecken." Wie`? und was und erklären bitte ich lerne wie gesagt noch"

"Das der Text und die Position im Grid da als feste Werte stehen, lässt aber erahnen das das Programm noch ganz andere, grundlegendere Probleme hat. Und für GUIs muss man eigentlich auch objektorientierte Programmierung (OOP) beherrschen und anwenden."
Bin Anfänger und habe mich mit Objektorientierter Programmierung noch nicht stark beschäftigt da ich es noch nicht brauchte" deswegen benutze ich Grid weil ich damit in der zeit am besten durchkomme doch wenn es was besseres gibt bitte versuch es mir zu erklären

mir währe nur wichtig das du mir sagen könntest wie ich jetz den check["state"] = tk.DISABLED benutze mit dem " an einen Namen binden oder in diesem Fall wahrscheinlich eher in eine Datenstruktur stecken"
BlackJack

@Floflo7201: Ich habe keine Ahnung wie Du das in Deinem Programm einbauen kannst, oder ob das überhaupt geht, denn das sieht ja so aus als würde der Code direkt die Radiobuttons mit den Fragen erstellen und gleich in einem Containerwidget anordnen. Und dann gibt es für jede Frage+Antworten solchen Code? Wie wählst Du denn die zufälligen zwei falschen Antworten aus wenn die Antworten nur im Widget stecken Du Dir aber nicht einmal *das* irgendwo merkst? Wo merkst Du Dir welches die richtige Antwort ist? Steht das etwa auch fest im Code für jede Frage? Welche Daten hältst Du für das Programm denn in welchen Datenstrukturen?
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

@BlackJack:
BlackJack hat geschrieben:@Floflo7201: Ich habe keine Ahnung wie Du das in Deinem Programm einbauen kannst, oder ob das überhaupt geht, denn das sieht ja so aus als würde der Code direkt die Radiobuttons mit den Fragen erstellen und gleich in einem Containerwidget anordnen. Und dann gibt es für jede Frage+Antworten solchen Code? Wie wählst Du denn die zufälligen zwei falschen Antworten aus wenn die Antworten nur im Widget stecken Du Dir aber nicht einmal *das* irgendwo merkst? Wo merkst Du Dir welches die richtige Antwort ist? Steht das etwa auch fest im Code für jede Frage? Welche Daten hältst Du für das Programm denn in welchen Datenstrukturen?
Wie wählst Du denn die zufälligen zwei falschen Antworten aus wenn die Antworten nur im Widget stecken Du Dir aber nicht einmal *das* irgendwo merkst?
Die Radiobuttons habe verschiedene Commands 1.vändern1(=antwort ist richtig) und vändern2(=antwort ist falsch)
diese erstellen dann einen knopf der entweder den command antwortr oder antwortf erstellt (richtig oder falsch) und der führt dann die Definition aus Zum bestätigen der eingabe(wieso? weil ich es so leicht schreiben wollte wie es nur ging da ich nicht der beste in Python bin oder wie gesagt erst vor einem haloben jahr angefangen habe)

Ja die Radiobuttons sehen alle so aus

Code: Alles auswählen

Radiobutton(fenster, text="Bibel", variable=v, value=1, command=vändern1).grid(row=1, column=0)
Radiobutton(fenster, text="Thora", variable=v, value=2, command=vändern2).grid(row=1, column=1)
Radiobutton(fenster, text="Koran", variable=v, value=3, command=vändern2).grid(row=2, column=0)
Radiobutton(fenster, text="Tipitaka", variable=v, value=4, command=vändern2).grid(row=2, column=1)
so sehen sie aus und zwar jede das ist halt für die 1.Frage jetzt
Ich weis halt nicht wie ich es anders machen kann und jetzt will ich von diesen 4
"Koran" und Tipitaka" löschen oder überschreiben oder halt disablen ich weis halt net wies geht
ich bestimme alle falschen antworten selber
Zuletzt geändert von Anonymous am Donnerstag 9. März 2017, 19:51, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

@BlackJack:
Das ist der ganze Code vlt hilft es ja weiter

Code: Alles auswählen

from tkinter import *
import tkinter.messagebox
fenster = Tk()
tkinter.messagebox.showinfo("", "Willkommen bei wer wird Millionär")#Welcome to  who is Millionaire
answer = tkinter.messagebox.askquestion("", "Möchtest du im Schweren Modus spielen? Der schwere modus bedeutet das du nur 2 Joker hast!")#Do you want to play in Hard mode?if you play in hardmode you only have 2 joker
menu = Menu(fenster)
fenster.config(menu=menu)#window
frage = Label()#question
frage.grid(row=0, column=1)
ausgabe = Label()#output
ausgabe.grid(row=4, column=1)#output
jokerfrage = None
counter = 120
x = 0
x = float(x)
v = IntVar()


def fiftyfifty():
    subMenu.delete("50/50", index2=None)#Fiftiy fifty Joker
    frage1j()
    
def fiftyfifty1():
    subMenu.delete("1.50/50", index2=None)#Fiftiy fifty Joker
    frage1j()

    
def fiftyfifty2():
    subMenu.delete("2.50/50", index2=None)#Fiftiy fifty Joker
    frage1j()

    
def publikum():
    print("Publikum ist nicht anwesend tut mir leid!")#Sorry there is no people that can help you


def jokerfragen():
    global jokerfrage
    jokerfrage = tkinter.messagebox.askquestion("", "Hör auf nachzudenken und benutz lieber einen Joker!")#Stop thinking use a joker!


def antwortr():
    frage.configure(text="Glückwunsch deine antwort war richtig")#Greetings youre answers whas right
    ausgabe.configure(text="50")
def beenden():
    fenster.destroy()


def beendenzeit():
    frage.configure(text="Deine zeit ist fast abgelaufen du hast nurnoch 10 sekunden!")
    frage.after(10000,beenden)
    
                


def antwortf():
    frage.configure(text="Deine antwort wahr falsch damit bist du ausgeschieden!")#Sorry youre answer whas wrong you lost the game
    global counter
    counter =5
    frage.after(5000,beenden)
def vändern():
    tkinter.messagebox.showinfo("","Tud mir leid aber diese antwort existiert nich")

def vändern1():
    v = 1
    if v == 1:
        knopf1 = Button(text="Einlocken", command=antwortr)#Lock in
        knopf1.grid(row=3, column=1)


def vändern2():
    v = 2
    if v == 2:
        knopf1 = Button(text="Einlocken",command=antwortf)#Lock in
        knopf1.grid(row=3, column=1)


def counter_label(label):
    def count():
        global counter
        counter -= 1
        zähler.config(text=str(counter))
        zähler.after(1000, count)
        zähler.after(110000,beendenzeit)
    count()
    

def frage1():
    frage.configure(text="Wie heist das heilige Buch der Christen?")#What is the Holy book of the Christians
    Radiobutton(fenster, text="Bibel", variable=v, value=1, command=vändern1).grid(row=1, column=0)
    Radiobutton(fenster, text="Thora", variable=v, value=2, command=vändern2).grid(row=1, column=1)
    Radiobutton(fenster, text="Koran", variable=v, value=3, command=vändern2).grid(row=2, column=0)
    Radiobutton(fenster, text="Tipitaka", variable=v, value=4, command=vändern2).grid(row=2, column=1)

    
def frage1j():
    frage.configure(text="Wie heist das heilige Buch der Christen?")#What is the Holy book of the Christians
    Radiobutton(fenster, text="Bibel", variable=v, value=1, command=vändern1).grid(row=1, column=0)
    Radiobutton(fenster, text="Thora", variable=v, value=2, command=vändern2).grid(row=1, column=1)
    Radiobutton(fenster, text="", variable=v, value=5, command=vändern).grid(row=2, column=0)
    Radiobutton(fenster, text="", variable=v, value=6, command=vändern).grid(row=2, column=1)

zähler = Label(fg="black")
zähler.grid(row=0, column=0)
#zähler.after(29000, jokerfragen)#Does something important for my script.
zähler.config(text="30")
counter_label(zähler)


if answer == "no":
    subMenu = Menu(menu)
    menu.add_cascade(label="Joker", menu=subMenu)
    subMenu.add_command(label="1.50/50", command=fiftyfifty1)#2 wrong question go away
    subMenu.add_command(label="2.50/50", command=fiftyfifty2)#2 wrong question go away
    subMenu.add_separator()
    subMenu.add_command(label="1.Publikum Befragen", command=publikum)#ask other people joker
    subMenu.add_command(label="2.Publikum Befragen", command=publikum)#ask other people joker
    frage1()
if answer == "yes":
    subMenu = Menu(menu)
    menu.add_cascade(label="Joker", menu=subMenu)
    subMenu.add_command(label="50/50", command=fiftyfifty)
    subMenu.add_separator()
    subMenu.add_command(label="Publikum Befragen", command=publikum)#ask other people joker
    frage1()   
    
#if jokerfrage == "yes":
#    wjokerfrage = tkinter.messagebox.askquestion("", "50/50 ist Ja Publikum Befragen ist nein")#wich Joker you want 50/50 is yes ask other poeple joker is no
#if jokerfrage == "no":
#    tkinter.messagebox.showinfo("", "Ok ich werde dir weitere 30 sekunden zum nackdenken geben")#ok i'll give you 30 more seconds to think



mainloop()
Zuletzt geändert von Anonymous am Donnerstag 9. März 2017, 19:51, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Floflo7201: Ich glaube nicht, dass man das ”retten” kann. Weder Code noch Daten sind auch nur ansatzweise sinnvoll strukturiert und Daten sind als Code ausgedrückt. Und das ganze ist ein grosser Haufen globalen Zustands.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

@BlackJack:
BlackJack hat geschrieben:@Floflo7201: Ich glaube nicht, dass man das ”retten” kann. Weder Code noch Daten sind auch nur ansatzweise sinnvoll strukturiert und Daten sind als Code ausgedrückt. Und das ganze ist ein grosser Haufen globalen Zustands.
wie meinst du das?
es tut mir leid wenn es nicht "ordentlich" ist oder was auch immer dich dran stört doch ich habe es nie anders gelernt wie gesagt mache ich Informatik erst seit einem halben jahr und bin noch nicht so weit das ich das ganze mit Klassen und so machen kann da ich mich damit noch nicht beschäftigt habe

meine frage bleibt trotzdem kannst du mir irgendwie helfen das ich wenigstens die radiobuttons disablen kann mir egal wie und wenn es schwer ist aber bitte hilf mir, mir ist das ganze wirklich sehr wichtig ich möchte dazu lernen also bitte hilf mir
BlackJack

@Floflo7201: Das ist keine Frage von ein bisschen unordentlich mehr, das ist vom Ansatz her einfach falsch und es macht nicht nur keinen Sinn in dieser Richtung weiter zu machen, sondern ich wüsste auch gar nicht *wie* man da weitermachen sollte. Das ist eine Sackgasse.

Ohne Klassen kannst Du die GUI IMHO vergessen. Mach das am besten erst einmal als Konsolenprogramm. Und da müsstest Du Dir als erstes Gedanken über die Daten und eine sinnvolle Struktur machen. Und dann *echte* Funktionen, also Werte nur über Argumente und Ergebnisse als Rückgabewerte. Keine Variablen auf Modulebene und kein ``global``. Auch kein Code auf Modulebene der nicht Konstanten, Funktionen, oder Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@Floflo7201: Programmieren besteht nicht nur aus dem Aneinanderreihen von Anweisungen. Wesentliche Aufgaben sind das Analysieren des Problems, und zwar abstrakt: es gibt Fragen und jeweils vier Antwortmöglichkeiten, wovon eine auszuwählen ist. Zur Lösung gehört dann auch ein passende Datenstruktur zu finden, in die man die Fragen und Antworten stecken kann.

Ich habe Dein Eindruck, Du möchtest etwas machen, wo Dir einfach noch die Grundlagen fehlen. Dazu gehört die Verwendung von Datenstrukturen und Funktionen ohne globale Zustände. Irgendwann dann Klassen, und wenn das sitzt, kannst Du Dich wieder der GUI-Programmierung zuwenden. Man kann auch als Konsolenanwendung ein schönes WWM programmieren.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

Sirius3 hat geschrieben:@Floflo7201: Programmieren besteht nicht nur aus dem Aneinanderreihen von Anweisungen. Wesentliche Aufgaben sind das Analysieren des Problems, und zwar abstrakt: es gibt Fragen und jeweils vier Antwortmöglichkeiten, wovon eine auszuwählen ist. Zur Lösung gehört dann auch ein passende Datenstruktur zu finden, in die man die Fragen und Antworten stecken kann.

Ich habe Dein Eindruck, Du möchtest etwas machen, wo Dir einfach noch die Grundlagen fehlen. Dazu gehört die Verwendung von Datenstrukturen und Funktionen ohne globale Zustände. Irgendwann dann Klassen, und wenn das sitzt, kannst Du Dich wieder der GUI-Programmierung zuwenden. Man kann auch als Konsolenanwendung ein schönes WWM programmieren.
Ich finde Konsolenprogramme aber langweilig und ich will mein wissen ja vermehren was bringt es mir wenn ich ein billiges Konsolenprogramm schreibe das macht mir ja keine arbeit. es soll doch knifflig sein und ich will ja wie gesagt auch was dazu lernen
Zur Lösung gehört dann auch ein passende Datenstruktur zu finden, in die man die Fragen und Antworten stecken kann.
was meinst du damit
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

BlackJack hat geschrieben:@Floflo7201: Das ist keine Frage von ein bisschen unordentlich mehr, das ist vom Ansatz her einfach falsch und es macht nicht nur keinen Sinn in dieser Richtung weiter zu machen, sondern ich wüsste auch gar nicht *wie* man da weitermachen sollte. Das ist eine Sackgasse.

Ohne Klassen kannst Du die GUI IMHO vergessen. Mach das am besten erst einmal als Konsolenprogramm. Und da müsstest Du Dir als erstes Gedanken über die Daten und eine sinnvolle Struktur machen. Und dann *echte* Funktionen, also Werte nur über Argumente und Ergebnisse als Rückgabewerte. Keine Variablen auf Modulebene und kein ``global``. Auch kein Code auf Modulebene der nicht Konstanten, Funktionen, oder Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
GUI IMHO
das ist was?
Und dann *echte* Funktionen, also Werte nur über Argumente und Ergebnisse als Rückgabewerte. Keine Variablen auf Modulebene und kein ``global``. Auch kein Code auf Modulebene der nicht Konstanten, Funktionen, oder Klassen definiert
Nenn mir mal bitte als Beispiel eine "echte" Funktion oder mehrere damit ich verstehen kann wie du das meinst (wie gesagt kann ich immer nur sagen das ich die Programme so schreibe wie ich es gelernt habe und da ich erst seit einem halben jahr Informatik mache ist das noch nicht viel)
Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst
Da wäre dann wieder mein Problem was ist das hauptprogramm?
ich würde es interessant finden wenn du/ihr mir ein paar Beispiele nennen könnten oder beschreiben könntet damit ich es besser verstehen kann.
Lernen
Könnt ihr mir irgendwelche tipps geben?
Irgendwelche Python bücher die man sich bestellen könnte oder auch Youtube Videos und Tutorials
oder auch seiten auf denen man sich so etwas angucken kann?
BlackJack

@Floflo7201: Konsolenprogramme zu programmieren ist nicht langweilig und Du lernst ziemlich sicher etwas dabei, denn Du stellst hier Fragen, wie was Funktionen sind und was mit Datenstrukturen gemeint ist, die man für jedes Programm wissen muss, egal ob Konsole oder GUI.

GUI = „graphical user interface“, IMHO = „in my humble opinion“.

Echte Funktionen greifen nur auf Werte zu die als Argumente übergeben wurden und geben Ergebnisse als Rückgabewerte an den Aufrufer zurück. Bei manchen Funktionen ist es sinnvoll wenn sie Datenstrukturen verändern die ihne als Argumente übergeben wurden, dann sind es keine ”reinen” Funktionen wie in der Mathematik mehr. Was gar nicht geht ist irgendwas auf Modulebene zu verändern oder gar neu zuzuweisen.

Und das sollte man in einem halben Jahr Informatik gelernt haben. Ebenso das zusammenfassen von Daten zu den Datenstrukturen die zu den Daten und den darauf benötigten Operationen passen. Ohne diese Grundlagen dürfte keine Aufgabe wie WWM als Projekt gestellt oder erwartet werden.

Welcher Code zum Hauptprogramm gehört, ergibt sich formal daraus, dass auf Modulebene nur Code stehen sollte der Konstanten, Funktionen, und Klassen definiert und dann die Funktion mit dem Hauptprogramm aufruft.

In der Python-Dokumentation gibt es ein Tutorial.
Floflo7201
User
Beiträge: 11
Registriert: Donnerstag 9. März 2017, 18:32

BlackJack hat geschrieben:@Floflo7201: Konsolenprogramme zu programmieren ist nicht langweilig und Du lernst ziemlich sicher etwas dabei, denn Du stellst hier Fragen, wie was Funktionen sind und was mit Datenstrukturen gemeint ist, die man für jedes Programm wissen muss, egal ob Konsole oder GUI.

GUI = „graphical user interface“, IMHO = „in my humble opinion“.

Echte Funktionen greifen nur auf Werte zu die als Argumente übergeben wurden und geben Ergebnisse als Rückgabewerte an den Aufrufer zurück. Bei manchen Funktionen ist es sinnvoll wenn sie Datenstrukturen verändern die ihne als Argumente übergeben wurden, dann sind es keine ”reinen” Funktionen wie in der Mathematik mehr. Was gar nicht geht ist irgendwas auf Modulebene zu verändern oder gar neu zuzuweisen.

Und das sollte man in einem halben Jahr Informatik gelernt haben. Ebenso das zusammenfassen von Daten zu den Datenstrukturen die zu den Daten und den darauf benötigten Operationen passen. Ohne diese Grundlagen dürfte keine Aufgabe wie WWM als Projekt gestellt oder erwartet werden.

Welcher Code zum Hauptprogramm gehört, ergibt sich formal daraus, dass auf Modulebene nur Code stehen sollte der Konstanten, Funktionen, und Klassen definiert und dann die Funktion mit dem Hauptprogramm aufruft.

In der Python-Dokumentation gibt es ein Tutorial.
Leider ist der restliche kurs sehr langsam wenn es darum geht etwas zu lernen...
ich bin der schnellste aus dem kurs nur leider ist unser Informatik Lehrer auch nicht der beste wir kriegen eigentlich nur aufgaben die wir dann lösen sollen
Antworten