Émulation de boucles Do-While en Python
En Python, une boucle do-While n'est pas prise en charge nativement. Cependant, il existe plusieurs méthodes pour obtenir une fonctionnalité similaire.
Une approche consiste à utiliser une boucle while True, comme démontré ci-dessous :
while True: # Execute loop body if break_condition: break
Vous pouvez également utiliser une boucle while suivie par une instruction if pour exécuter le corps de la boucle avant de vérifier la condition de rupture :
# Execute loop body if not break_condition: continue
Gestion de la StopIteration Exception
Pour gérer correctement l'exception StopIteration déclenchée lors d'une itération sur une liste ou un itérable, utilisez un bloc try-sauf :
iterator = list_of_ints.__iter__() element = None while True: try: element = iterator.next() except StopIteration: break print(element)
Émulation d'une machine à états
Dans l'exemple fourni, une machine à états a été implémentée à l'aide d'une boucle do-while. Pour émuler cela en Python, vous pouvez utiliser des boucles avec des instructions de rupture conditionnelle :
while True: if state == STATE_CODE: if "//" in s: tokens.add(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_COMMENT else: tokens.add(TOKEN_CODE, s) if state == STATE_COMMENT: if "//" in s: tokens.append(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_CODE else: # Re-evaluate same line continue try: s = i.next() except StopIteration: break
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!