An den Anfang der while-Schleife springen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
yeet
User
Beiträge: 6
Registriert: Freitag 17. August 2018, 19:36

Samstag 15. September 2018, 20:35

Hallo,

ich möchte an den Anfang einer while-Schleife springen. Das sollte dann wie folgt aussehen.

Code: Alles auswählen

import #Beispiel
h = 2
b = 3

while True:
    print("Test")
    #springe zum Anfang der while Schleife
Wie kann ich das realisieren?
Vielen Dank im Voraus!
nezzcarth
User
Beiträge: 905
Registriert: Samstag 16. April 2011, 12:47

Samstag 15. September 2018, 20:42

Ich weiß nicht, ob ich die Frage richtig verstehe, aber so ergibt sie für mich keinen Sinn. Am Ende des Schleifenkörpers wird doch automatisch wieder an den Anfang gesprungen. Es gibt zwar das 'continue' Statement, das ist aber ohne Effekt, wenn du es an die markierte Stelle setzt. Ein Statement, um die Bedingungsprüfung zu überspringen (s. 'redo' in z.B. Perl), gibt es in Python nicht, wäre aber bei einer solchen Endlosschleife ebenfalls wirkungslos. Das 'import'-Statement ohne Modulangabe ergibt übrigens einen Syntax-Error.
Sirius3
User
Beiträge: 11534
Registriert: Sonntag 21. Oktober 2012, 17:20

Montag 17. September 2018, 06:19

Du springst bereits an den Anfang der while-Schleife. Automatisch, da brauchst Du nichts extra machen. Dafür sind Schleifen bekannt, dass sie vom Ende wieder an den Anfang springen.

Wie sieht also Dein wirkliches Problem aus? Was bekommst Du, was erwartest Du statt dessen?
Benutzeravatar
__blackjack__
User
Beiträge: 5407
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Montag 17. September 2018, 09:25

Also wenn man das externe `goto-statement`-Package installiert, dann kann man das so machen:

Code: Alles auswählen

from goto import with_goto


@with_goto
def main():
    while True:
        label .loop_start
        print('Test')
        goto .loop_start  # Springe zum Anfang der ``while``-Schleife.


if __name__ == '__main__':
    main()
:twisted:
long long ago; /* in a galaxy far far away */
Antworten