Python Schleife wie?

... komplette Frage anzeigen

2 Antworten

Eins vorab: Für Codes gibt es bei Gutefrage.net eine eigene Code-Option (das sind die dreieckigen Klammern <> in der Leiste zur Formatierung deiner Frage) - das macht es viel übersichtlicher für uns :)

Wonach du suchst, ist ein klassischer "GoTo"-Befehl. Du gibst der Zeile mit dem raw_input eine Nummer und verweist später darauf, damit er dorthin zurück geht. Die schlechte Nachricht: sowas gibt es in Python nicht. Und auch in anderen Programmiersprachen ist es "schlechter Stil" das so zu machen, weil man sich schnell verheddert und in Teufels Küche kommt.

Die Lösung ist in dem Fall, die Input-Abfrage in eine eigenständige Funktion zu packen.

# Definition einer neuen Funktion "Fun_Userinput"
def Fun_Userinput():
     print "1. Zeige mir das an"
     print "2. Speicher mit das"
     print "3. Mach das"
     option = str(raw_input("Was willst du tun?: "))
     return option  

# hier wird die Funktion aufgerufen:
if Fun_Userinput() in ['1','eins','Eins','One','one']:
     os.system("echo Hallo")
else:
     print "Lappen"

Du kannst jederzeit die Eingabe starten, indem du die Funktion "Fun_Userinput()" aufrufst. Das Ergebnis der Funktion ist die Variable "option", die man - wie du siehst - direkt beim Aufruf der Funktion abfragen kann.

Jetzt kannst du die Abfrage jederzeit aufrufen, wann und wo du willst und er wird das Programm danach immer wieder von der Stelle aus weiter ausführen.

Ist es das, was du suchst?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von EndIt
14.10.2016, 13:14

Dankeschön, aber ich habe mein Problem gerade mit einer einfachen While Schleife gelöst :) Trotzdem vielen Dank für deine Antwort :) !

0

Verstehe nicht ganz was dein Problem ist.

Nebenbei bemerkt: Die print(1...) etc solltest du besser anders lösen, denn die werden im Zweifel erst nach der erfolgten Eingabe angezeigt, zum Beispiel:


str(raw_input("Was willst du tun?: \\n 1: Zeige mir das an. \\n 2: Speicher mir das. \\n 3: Mach das \\n"))

Ach ja und bitte füge Code immer formatiert ein, sonst ist das nicht zumutbar leserlich und gerade bei Python Probleme mit der Einrückung nicht ausgeschlossen werden

Du kannst dir falls das dein Problem ist, den Auszugebenen Text auch in einer Variable speichern und diese dann in der gewünschten Form ausgeben.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?