Ich versuche herauszufinden, wie ich Python wieder an den Anfang des Codes bringen kann. In SmallBasic tun Sie
%Vor%Aber ich kann nicht herausfinden, wie Sie das in Python machen: / Irgendwelche Ideen, jemand?
Der Code, den ich versuche zu loopen, ist dies
%Vor%Wenn der Benutzer die Konvertierung beendet hat, möchte ich, dass er nach oben zurückkehrt. Ich kann Ihre Loop-Beispiele immer noch nicht in die Praxis umsetzen, da jedes Mal, wenn ich die def-Funktion für die Schleife verwende, "op" nicht definiert ist.
Python unterstützt, wie die meisten modernen Programmiersprachen, "goto" nicht. Stattdessen müssen Sie Kontrollfunktionen verwenden. Es gibt im Wesentlichen zwei Möglichkeiten, dies zu tun.
1. Schleifen
Ein Beispiel dafür, wie Sie genau das ausführen können, was Ihr SmallBasic-Beispiel tut, ist wie folgt:
%Vor%So einfach ist das.
2. Rekursion
%Vor%Hinweis zur Rekursion: Führen Sie dies nur aus, wenn Sie eine bestimmte Anzahl von Malen haben, an die Sie zum Anfang zurückkehren möchten (in diesem Fall fügen Sie einen Fall hinzu, wenn die Rekursion gestoppt werden soll). Es ist eine schlechte Idee, eine unendliche Rekursion, wie ich oben definiert habe, zu tun, weil Ihnen irgendwann der Speicher ausgehen wird!
Verwenden Sie eine Endlosschleife:
%Vor% Dies kann sicherlich auch für Ihre start()
-Funktion gelten; Sie können die Schleife entweder mit break
oder mit return
beenden, um die Funktion vollständig zu beenden, wodurch auch die Schleife beendet wird:
Wenn Sie auch eine Option zum Beenden hinzufügen möchten, könnte das sein:
%Vor%zum Beispiel.
Python hat Kontrollflussanweisungen anstelle von goto
-Anweisungen. Eine Implementierung des Kontrollflusses ist Pythons while
Schleife. Sie können eine boolesche Bedingung angeben (boolesche Werte sind in Python entweder Wahr oder Falsch), und die Schleife wird wiederholt ausgeführt, bis diese Bedingung falsch wird. Wenn Sie für immer eine Schleife machen wollen, müssen Sie nur eine Endlosschleife starten.
Seien Sie vorsichtig, wenn Sie den folgenden Beispielcode ausführen möchten. Drücken Sie Strg + C in Ihrer Shell, während es ausgeführt wird, wenn Sie den Prozess jemals beenden möchten. Beachten Sie, dass der Prozess im Vordergrund sein muss, damit dies funktioniert.
%Vor% Die Zeile # do stuff here
ist nur ein Kommentar. Es führt nichts aus. pass
ist nur ein Platzhalter in Python, der im Grunde sagt "Hallo, ich bin eine Codezeile, aber überspringen Sie mich, weil ich nichts mache."
Nehmen wir nun an, Sie möchten den Benutzer immer und immer wieder nach Eingaben fragen und beenden das Programm nur dann, wenn der Benutzer das Zeichen 'q' zum Beenden eingibt.
Sie könnten so etwas tun:
%Vor% cmd
speichert nur die Eingaben des Benutzers (der Benutzer wird aufgefordert, etwas einzugeben und die Eingabetaste zu drücken). Wenn cmd
nur den Buchstaben 'q' speichert, wird der Code break
aus seiner umschließenden Schleife erzwungen. Mit der Anweisung break
können Sie jede Art von Schleife umgehen. Sogar ein unendlicher! Es ist äußerst nützlich zu lernen, ob Sie jemals Benutzeranwendungen programmieren möchten, die oft auf Endlosschleifen laufen. Wenn der Benutzer nicht genau den Buchstaben "q" eintippt, wird der Benutzer nur wiederholt und unendlich oft aufgefordert, bis der Prozess gewaltsam beendet wird oder der Benutzer entscheidet, dass er genug von diesem lästigen Programm hat und nur beenden will.
Sie müssen eine while-Schleife verwenden. Wenn Sie eine while-Schleife erstellen und hinter der Schleife keine Anweisung steht, wird sie zu einer Endlosschleife und stoppt erst, wenn Sie sie manuell stoppen.
Tags und Links python python-3.3