@spicer: Ich habe nicht vergessen wie es war als ich noch Hobby-Programmierer war und ich verstehe diese Auffassung von „Hobby“ nicht. Die meisten Leute die ein Hobby haben, wollen sich mit dem Thema ihres Hobbys intensiv befassen und lernen und besser werden und nicht nur irgendwie irgendwas zum laufen bringen was mehr schlecht als recht funktioniert. Es gibt Hobby's da gibt es Gründe warum man immer unter professionellem Niveau bleiben wird, beispielsweise weil teure Ausrüstung gekauft werden müsste, die sich nicht lohnt wenn man das nur zum Spass macht. Aber beim Programmieren reicht ja im Grunde ein normaler Rechner aus und man kann fast alles machen.
Ich würde sagen es gibt keine einfache Lösung für Dein Problem wenn Du
Dein Programm nicht deutlich überarbeiten willst, denn dort steht das Hauptprogramm mit Funktions- und Klassendefinitionen vermischt direkt auf Modulebene. Weshalb man da nicht einfach eine Schleife um das Hauptprogramm legen kann, um es mehrfach nacheinander ablaufen zu lassen.
Das auf Modulebene nur Code stehen sollte der Konstanten, Funktionen, und Klassen definiert, und eben nicht das Hauptprogramm und globale Variablen, ist ein Grundsatz der hier immer wieder Anfängern nahegelegt wird. Einen Grund dafür merkst Du jetzt gerade. Und es macht aus meiner Sicht, und da bin ich offensichtlich nicht alleine, total Sinn jeden Anfänger darauf hinzuweisen, auch wenn das gar nicht das Problem ist, nach dem gefragt wurde, weil sonst viel Arbeit in ein langes Programm gesteckt wird, und am Ende kommt dann die Frage wie löst man ein Problem das dadurch entstanden ist, ohne alles umschreiben zu müssen. Tja, gar nicht. Darum sollte man das halt von Anfang an richtig machen. Oder eben das ”Lehrgeld” bezahlen und dann einmal die Arbeit rein stecken es ordentlich zu machen. Das gehört normalerweise sowohl bei Hobbies als auch bei Profis zum Lernprozess, dass man Fehler macht, Sachen neu machen, oder relativ aufwändig überarbeiten muss. Hinterher ist man schlauer und macht den Fehler nicht noch mal.
Und auch der Frust, dass man ja eigentlich fertig ist, aber für eine kleine Funktionalität oder einen scheinbar kleinen Bugfix doch noch mal den Code komplett überarbeiten muss, ist eine normale Erfahrung die auch Profis kennen.