Existiert eine goto-Anweisung in Python
-
Verwenden Sie Ausnahmen, um eine
goto
-Anweisung in Python zu emulieren -
Schleifen mit
break
undcontinue
Anweisungen verwenden, um einegoto
Anweisung in Python zu emulieren
Dieser Artikel liefert Ihnen die Antwort, ob die Anweisung goto
in Python existiert oder nicht.
Grundsätzlich werden goto
-Anweisungen in Python nicht unterstützt. Im Allgemeinen werden diese Anweisungen allgemein verachtet, da sie zu sehr unorganisiertem Code führen; endet also im Spaghetti-Code. Ein solcher Code wird schwer zu verstehen und zurückzuverfolgen, während man versucht, Flows und Debugging zu verstehen.
Python ermöglicht strukturiertes Programmieren, indem es verschiedene Möglichkeiten zum Verzweigen von Code verwendet, z. B. die Verwendung von if-else
-Ausdrücken, Ausnahmen und Schleifen.
Wenn Sie eine goto
-Anweisung in Python emulieren möchten, bietet dieser Artikel einige Beispiele. Diese Methoden werden jedoch nicht empfohlen, da es eine schlechte Programmierpraxis ist, goto
zu verwenden.
Verwenden Sie Ausnahmen, um eine goto
-Anweisung in Python zu emulieren
Mit Ausnahmen können Sie goto
strukturiert implementieren, obwohl dies keine empfohlene Programmierpraxis ist. Ausnahmen können schließlich aus tief verschachtelten Kontrollstrukturen herausspringen. Überprüfen Sie dieses Beispiel unten.
class gotolabel(Exception):
print("from the goto label") # declare a label
try:
x = 4
if x > 0:
raise gotolabel() # goto the label named "gotolabel"
except gotolabel: # where to goto the label named "gotolabel"
pass
Ausgabe:
from the goto label
Schleifen mit break
und continue
Anweisungen verwenden, um eine goto
Anweisung in Python zu emulieren
Sie könnten Schleifen mit break
- und continue
-Anweisungen verwenden, um eine goto
-Anweisung in Python zu emulieren. Dieses Beispielprogramm demonstriert diese Methode.
prompt = "Roll the dice "
while True:
try:
y = int(input(prompt))
except ValueError:
print("Please enter a valid number")
continue
if y > 6:
prompt = "The dice has numbers 1-6 ! Input a number <6"
elif y < 1:
prompt = "The dice has numbers 1-6 ! Input a number >1"
else:
print("Correct!")
break
Ausgabe:
Roll the dice hj
Please enter a valid number
Roll the dice 6
Correct!
Hier hilft die continue
-Anweisung dem Prozess, zur nächsten Iteration der Schleife zu springen und eine Endlosschleife zu verursachen. Andererseits hilft die Anweisung break
, die Schleife zu beenden.