Anomalie d'indentation : la clause Else dans les instructions Python While
En Python, une clause else peut être ajoutée à une instruction while. Cependant, contrairement aux conventions de programmation traditionnelles, la clause else n'est pas directement liée à l'état de la boucle while. Au lieu de cela, il s'exécute uniquement lorsque la condition devient fausse.
Pourquoi est-ce légal ?
Python permet l'utilisation d'une clause else avec des boucles while pour fournir un flux alternatif d'exécution lorsque la condition n'est plus vraie. Ceci est distinct des blocs if/else, où la clause else est associée à une condition if spécifique.
Logique d'exécution
La clause else dans une boucle while se comporte comme suit :
Analogie avec les constructions if/else
On peut visualiser la boucle while avec une clause else comme une construction if/else par rapport au condition :
if condition: handle_true() else: handle_false()
est analogue à :
while condition: handle_true() else: # condition is false now, handle and go on with the rest of the program handle_false()
Exemple pratique
Par exemple :
while value < threshold: if not process_acceptable_value(value): # something went wrong, exit the loop; don't pass go, don't collect 200 break value = update(value) else: # value >= threshold; pass go, collect 200 handle_threshold_reached()
Dans ce code, la clause else s'exécute si et seulement si la valeur atteint ou dépasse le seuil.
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!