Boucle Infinie
Une boucle infinie est une boucle qui ne se termine jamais car 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 cela est explicitement souhaité.
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ésente 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’indice
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, il faut s'assurer que la condition de la boucle soit 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, il est nécessaire de l'incrémenter ou de la mettre à 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
Génial!
Completion taux amélioré à 5
Boucle Infinie
Glissez pour afficher le menu
Une boucle infinie est une boucle qui ne se termine jamais car 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 cela est explicitement souhaité.
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ésente 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’indice
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, il faut s'assurer que la condition de la boucle soit 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, il est nécessaire de l'incrémenter ou de la mettre à 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 !