Si existe una instrucción goto en Python
-
Utilice excepciones para emular una declaración
goto
en Python -
Utilice bucles con declaraciones
break
ycontinue
para emular una declaracióngoto
en Python
Este artículo le proporciona la respuesta si la declaración goto
existe o no en Python.
Básicamente, las declaraciones goto
no son compatibles con Python. Generalmente, estas declaraciones son ampliamente despreciadas porque dan como resultado un código muy desorganizado; por lo tanto, termina en código espagueti. Este código se vuelve difícil de entender y rastrear mientras se intenta comprender los flujos y la depuración.
Python permite la programación estructurada mediante el uso de varias formas de ramificar el código, como el uso de expresiones, excepciones y bucles if-else
.
Si desea emular una declaración goto
en Python, este artículo proporciona algunos ejemplos. Sin embargo, estos métodos no se recomiendan ya que es una mala práctica de programación utilizar goto
.
Utilice excepciones para emular una declaración goto
en Python
Puede utilizar excepciones para proporcionar una forma estructurada de implementar goto
, aunque no es una práctica de programación recomendada. Después de todo, las excepciones pueden surgir de estructuras de control profundamente anidadas. Mira este ejemplo a continuación.
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
Producción :
from the goto label
Utilice bucles con declaraciones break
y continue
para emular una declaración goto
en Python
Puede usar bucles con declaraciones break
y continue
para emular una declaración goto
en Python. Este programa de ejemplo demuestra este método.
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
Producción :
Roll the dice hj
Please enter a valid number
Roll the dice 6
Correct!
Aquí, la declaración continue
ayuda al proceso a saltar a la siguiente iteración del bucle y provocar un bucle infinito. Por otro lado, la declaración break
ayuda a terminar el bucle.