Frage von Proximus553, 36

Kann man in Python marken definieren?

Ich bin ein Großer Batch-Fan. Ich lerne gerade Python und ich habe mich gefragt, ob in Python Sachen wie:

:start
Anweisung 1
Anweisung 2
if Bedingung erfüllt goto start
Anweisung 3
Anweisung ...

eben so leicht gehen oder ob man in Python gar keine Sprungmarken setze kann.

Antwort
von wolfgang1956, 7

Wenn man seine Marke so wie du einsetzt, braucht man „goto“. Bei geschickter Umformulierung deiner If-Konstruktion braucht kein Mensch ein Goto!

Die If-Abfrage wertet einen Ausdruck aus, der zwei verschiedene Code-Teile ausführen lässt. Gilt die Bedingung als erfüllt, wird der „erfüllte Teil“ des Codes ausgeführt, ansonsten springt der Compiler hinter diesen Teil und macht normal weiter. Analoges gilt für Programmschleifen, deren „implizite“ If-Abfrage für den Abbruch der Schleife sorgt.

Antwort
von NeoExacun, 30

Python unterstützt sowas nicht von sich aus. Ist auch nicht empfehlenswert, wenn man nicht weiß, was man tut.

Dafür wurden Schleifen erfunden.

Kommentar von Proximus553 ,

Wie kann in dem oben genannten Beispiel das goto "ausgeschleift" werden?

Kommentar von NeoExacun ,

 
    while True: do_something() if condition(): break
Antwort
von Schachpapa, 12
bedingung = True
while bedingung:
anweisung1
anweisung2
anweisung3
anweisung ...

Goto ist beim programmieren ziemlich verpönt, es geht eigentlich immer ohne.

Antwort
von New2016, 25

http://stackoverflow.com/questions/18863309/the-equivalent-of-a-goto-in-python

Keine passende Antwort gefunden?

Fragen Sie die Community