Pourquoi les variables d'itération modifiées dans une boucle For n'affectent-elles pas les itérations suivantes ?

Barbara Streisand
Libérer: 2024-11-23 17:06:13
original
918 Les gens l'ont consulté

Why Do Modified Iteration Variables in a For Loop Not Affect Subsequent Iterations?

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)
Copier après la connexion

Initialement, le résultat attendu ressemblerait à ceci :

0
1
2
3
4
8
9
Copier après la connexion

Cependant, le résultat réel s'écarte des attentes :

0
1
2
3
4
8
6
7
8
9
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal