Teste doch einmal das Skript von Musashi und dann guck doch mal ob sich das mit dem gewünschten Verhalten, wie du es dir vorstellst, auch deckt. Das ist im prinzip dein Skript nur vereinfacht auf die pure Logik. Wenn nicht, such die Stelle raus die dich stört und überleg dir was du ändern musst damit das Skript sich so verhält wie du es möchtest. Es hilft einfach mal niederzuschreiben was das Skript derzeitig macht und was es machen soll.
Derzeitiges Verhalten:
Wenn ich die Taste 3 drücke, beendet sich das Programm.
Gewünschtes Verhalten:
Wenn ich die Taste 3 drücke, soll der Benutzer gefragt werden ob sich das Programm beenden soll.
Mal als einfaches Beispiel. Damit führst du dir selber vor Augen was du eigentlich willst und auf was du dich fokusieren musst. Und ich wiederhole das noch mal. Schreib es ins Forum! Warum? Weil aus deinen ganzen Antworten nicht ersichtlich wird was du willst! Ich hab eine Vermutung, bin mir aber nicht ganz sicher. Bisher ist nämlich niemand (außer dir) in der Lage den Fehler zu sehen. Warum? Weil es auf mich so wirkt, als ob du gerne eine Verhaltensänderung im Programm haben möchtest. Allerdings hast du nie benannt welches Verhalten du stattdessen gerne hättest.
Deine Skriptlogik funktioniert nämlich! Du sagtest zwar du wärst in einer Endlosschleife, ja - Du hast ja auch 2 davon definiert. Allerdings hast du meine Frage aus Post #11 noch nicht beantwortet:
ZitatUnd was soll dein Programm stattdessen machen als in der Endlosschleife zu warten?
Und vermutlich liegt auch hier dein Problem. Du weißt nicht wie du dein gewünschtes Verhalten umsetzt oder aber weißt nicht was du eigentlich willst und wofür, oder sehe ich das falsch?
Ist aber in Ordnung, ich bin durchaus in der Lage dir Hilfe zur Selbsthilfe zu geben ohne dein Ziel zu kennen.