Boucle Infinie
Une boucle infinie est une boucle qui ne se termine jamais parce que la condition qui la contrôle n'évalue jamais à False. Ces boucles peuvent provoquer le blocage ou le plantage d'un programme, elles doivent donc être évitées sauf si elles sont explicitement prévues.
Si une condition est toujours True, la boucle s'exécutera indéfiniment. Par exemple, utilisons 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 toujoursTrueparce que'Barcelona'est présente dans la liste. C'est équivalent àwhile True:; - La boucle imprime continuellement
'I found Barcelona!'sans aucun moyen de s'arrêter.
Une variable de boucle mal mise à jour peut également conduire à 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)est toujoursTrue; - La boucle continue d'imprimer la première ville (
'Monako') indéfiniment.
Pour éviter les boucles infinies, assurez-vous que la condition de la boucle est conçue pour éventuellement s'évaluer à False. Cela signifie que la condition doit être dynamique et changer pendant l'exécution de la boucle. De plus, si vous utilisez une variable (comme un compteur) pour contrôler la boucle, assurez-vous qu'elle est incrémentée ou mise à jour correctement à l'intérieur de la boucle pour é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
Can you give more examples of infinite loops?
How can I fix the infinite loop in the second code example?
What are some common mistakes that lead to infinite loops?
Awesome!
Completion rate improved to 5
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'évalue jamais à False. Ces boucles peuvent provoquer le blocage ou le plantage d'un programme, elles doivent donc être évitées sauf si elles sont explicitement prévues.
Si une condition est toujours True, la boucle s'exécutera indéfiniment. Par exemple, utilisons 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 toujoursTrueparce que'Barcelona'est présente dans la liste. C'est équivalent àwhile True:; - La boucle imprime continuellement
'I found Barcelona!'sans aucun moyen de s'arrêter.
Une variable de boucle mal mise à jour peut également conduire à 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)est toujoursTrue; - La boucle continue d'imprimer la première ville (
'Monako') indéfiniment.
Pour éviter les boucles infinies, assurez-vous que la condition de la boucle est conçue pour éventuellement s'évaluer à False. Cela signifie que la condition doit être dynamique et changer pendant l'exécution de la boucle. De plus, si vous utilisez une variable (comme un compteur) pour contrôler la boucle, assurez-vous qu'elle est incrémentée ou mise à jour correctement à l'intérieur de la boucle pour é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 !