Boucle Infinie
Glissez pour afficher le menu
Une boucle infinie est une boucle qui ne se termine jamais parce que la condition qui la contrôle n'est jamais évaluée à False. Ces boucles peuvent entraîner le blocage ou le plantage d'un programme, il convient donc de les éviter sauf si elles sont explicitement souhaitées.
Si une condition est toujours True, la boucle s'exécutera indéfiniment. Par exemple, considérons un scénario lié au voyage :
# Infinite loop example
while 'Barcelona' in ['Monako', 'Liverpool', 'Barcelona', 'Munchen']:
print('I found Barcelona!')
- La condition
'Barcelona' in [...]sera toujoursTruecar'Barcelona'est présent dans la liste. Cela équivaut àwhile True:; - La boucle affiche continuellement
'I found Barcelona!'sans possibilité d'arrêt.
Une variable de boucle mal mise à jour peut également entraîner une boucle infinie. Par exemple :
# Another infinite loop example
i = 0
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen']
while i < len(travel_list):
print(travel_list[i])
# Missing increment: i += 1
- L'index
in'est jamais incrémenté, donc la conditioni < len(travel_list)reste toujoursTrue; - La boucle continue d'afficher indéfiniment la première ville (
'Monako').
Pour éviter les boucles infinies, s'assurer que la condition de la boucle est conçue pour finir par évaluer à False. Cela signifie que la condition doit être dynamique et changer pendant l'exécution de la boucle. De plus, si une variable (comme un compteur) est utilisée pour contrôler la boucle, vérifier qu'elle est bien incrémentée ou mise à jour correctement à l'intérieur de la boucle afin d'éviter que la condition ne reste True indéfiniment.
1. Quel est le problème avec le code suivant ?
2. Comment pouvez-vous modifier cette boucle pour éviter qu'elle ne s'exécute indéfiniment ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion