Maison > Article > développement back-end > Pourquoi les variables d'itération modifiées dans une boucle For n'affectent-elles pas les itérations suivantes ?
Pourquoi la modification des variables d'itération n'a-t-elle pas d'impact sur les itérations suivantes ?
Lorsque vous essayez d'ajuster les valeurs des variables de boucle interne, comme démontré dans le Python suivant code, un comportement inattendu peut en résulter :
for i in range(0, 10): if i == 5: i += 3 print(i)
Initialement, le résultat attendu ressemblerait à ceci :
0 1 2 3 4 8 9
Cependant, le résultat réel s'écarte des attentes :
0 1 2 3 4 8 6 7 8 9
En effet, une boucle for définit une portée distincte pour la variable d'itération dans chaque cycle d'itération. Une fois que vous modifiez la valeur de la variable de boucle, cela n'affecte que l'itération en cours sans aucun impact sur les itérations suivantes.
Pour obtenir le résultat souhaité, les structures de boucle alternatives offrent plus de polyvalence. Envisagez plutôt d'utiliser une boucle while :
i = 0 while i < 10: # Manipulate `i` as desired if i == 5: i += 3 print(i) # Increment `i` manually i += 1
L'utilisation de cette approche garantit que les modifications apportées à la variable de boucle seront reflétées dans les itérations suivantes, fournissant ainsi le résultat souhaité que vous recherchiez.
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!