Si une instruction goto existe en Python
-
Utiliser des exceptions pour émuler une instruction
gotoen Python -
Utilisez des boucles avec les instructions
breaketcontinuepour émuler une instructiongotoen Python
Cet article vous donne la réponse si l’instruction goto existe ou non en Python.
Fondamentalement, les instructions goto ne sont pas prises en charge en Python. Généralement, ces déclarations sont largement méprisées car elles donnent lieu à un code très désorganisé ; ainsi, se retrouvant dans le code spaghetti. Un tel code devient difficile à comprendre et à retracer tout en essayant de comprendre les flux et le débogage.
Python permet une programmation structurée en utilisant plusieurs manières de brancher le code, telles que l’utilisation d’expressions if-else, d’exceptions et de boucles.
Si vous souhaitez émuler une instruction goto en Python, cet article fournit quelques exemples. Cependant, ces méthodes ne sont pas recommandées car c’est une mauvaise pratique de programmation d’utiliser goto.
Utiliser des exceptions pour émuler une instruction goto en Python
Vous pouvez utiliser des exceptions pour fournir une manière structurée d’implémenter goto, même si ce n’est pas une pratique de programmation recommandée. Après tout, les exceptions peuvent sortir de structures de contrôle profondément imbriquées. Vérifiez cet exemple ci-dessous.
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
Production:
from the goto label
Utilisez des boucles avec les instructions break et continue pour émuler une instruction goto en Python
Vous pouvez utiliser des boucles avec les instructions break et continue pour émuler une instruction goto en Python. Cet exemple de programme illustre cette méthode.
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
Production:
Roll the dice hj
Please enter a valid number
Roll the dice 6
Correct!
Ici, l’instruction continue aide le processus à passer à l’itération suivante de la boucle et à provoquer une boucle infinie. D’autre part, l’instruction break permet de terminer la boucle.