@MebusValle: Der `seed()`-Aufruf ist sinnfrei. Hier schadet er auch nicht, aber in bestimmten Situationen kann das auch für *weniger* (Pseudo)zufall sorgen. Also weg damit.
Die `mainloop()` ist *die* Hauptschleife, die darf man nur einmal aufrufen (es sei denn man weiss sehr genau was man da tut) und nicht jedes mal eine neue Hauptschleife starten wenn der Benutzer auf eine Schaltfläche klickt. Wobei das Programm so auch gar nicht läuft weil es sofort wieder beendet wird. Es kann also höchstens sein dass Du das aus einer IDE startest die das verhindert und sich das Programm damit anders verhält als würde es alleine gestartet.
Die Schreibweise von `START` und `ENDE` entspricht nicht dem
Style Guide for Python Code genau wie die Einrücktiefe die vier Leerzeichen pro Ebene sein sollte.
`ENDE()` könnte man sich ausserdem sparen, denn die eine Funktion/Methode die darin aufgerufen wird hätte man auch gleich direkt als `command` übergeben können.
Die ganze ``if``/``elif``-Kaskade ist ziemlich umständlich; der einzige Unterschied zwischen den Zweigen ist eine Ziffer im Dateinamen und das ist auch noch die Zahl auf die getestet wird. Das ginge wesentlich einfacher wenn man den Dateinamen durch Zeichenkettenformtierung erstellt in dem man die Ziffer in den Dateinamen formtiert. Man könnte auch alle Bilder erstellen und in einer Liste ablegen und dann per `random.choice()` zufällig eines aussuchen.
Namen sollten dem Leser vermitteln was der Wert dahinter im Kontext des Programms bedeutet und nicht aus nichtssagenden Einzelbuchstaben bestehen oder aus kryptischen Kürzeln, dazu noch mit sinnlosen Zahlen angehängt.
Funktionen sind eigentlich als „black box” gedacht wo man Werte als Argumente hinein steckt und gegebenfalls einen Wert als Rückgabewert zurück bekommt. Deshalb sollten Funktionen ausser auf Konstanten nur Werte verwenden die als Argumente übergeben wurden. Beide Funktionen greifen aber einfach so auf `main` zu, was hier nicht wie üblich die Hauptfunktion ist, sondern das Tk-Hauptfenster.
Wenn das Hauptprogramm in einer Funktion steckt und auf Modulebene nur Konstanten, Funktionen, und Klassen definiert werden, kommt auch erst gar nicht in Versuchung in Funktionen auf irgendwelche Modulglobalen Werte zuzugreifen.
Bei GUI-Programmierung muss man im Grunde schon objektorientierte Programmierung anwenden, also selber Klassen schreiben, denn sonst bekommt man nicht-triviale Programme, und dazu gehört das hier schon, technisch nicht sauber umgesetzt.