Modification de l'itération variable à l'intérieur de la boucle en Python - Stack Overflow
La gamme de fonction () crée une liste. Par exemple, la plage (10) va créer la liste suivante: [1, 2, 3, 4, 5, 6, 7, 8, 9].
Quand vous dites pour i dans la gamme (10). Tout d'abord toute la liste [1, 2, 3, 4, 5, 6, 7, 8, 9] sera générée, et je serai assiged toutes les valeurs à partir de cette liste, dans l'ordre.
Peu importe si vous changez la valeur de i parce que la prochaine itération, il sera attribué l'élément suivant de la liste.
Ce C / C ++ d'autre part, à la fin de chaque itération, la valeur de i est incrémenté, puis par rapport à la valeur maximale autorisée (dans ce cas, 9) et si elle est supérieure, la boucle se termine.
Python vous donne les éléments de portée (10). l'un après l'autre. C incrémenter de façon répétée une variable.
Les deux d'entre eux ne se soucient pas vraiment ce que vous faites avec la variable dans la boucle, mais étant donné que les deux constructions de langage font des choses un peu différentes, le résultat est différent dans certains cas.
STH
140k ● 34 ● ● 220 321
C'est parce que lorsque vous utilisez la fonction range () en python. Votre variable i sera passer par la valeur dans la gamme. Par exemple,
Cependant, le langage C que vous avez écrit est juste en utilisant la condition normalement pour changer la valeur de i. Il n'y a pas de fonction impliquée.
Vous ne pouvez pas le faire en utilisant la fonction de gamme. vous devez le faire en utilisant while uniquement parce boucle utilise la fonction de plage et dans la variable de fonction RANGE incrémentée par sa méthode interne, peu importe ce que vous spécifiez dans la boucle il incrémentée par liste Visuel non contractuel. pour i dans la fourchette (10). imprimer i. si i == i = 2. 4. autre. i = 1 0 + 1 2 3 4 5 6 7 8 9
Un exemple intéressant est ici.
pour i dans la fourchette (10). imprimer i. i = i + i 10. impression. ce imprimera. 10 11 1 0 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19
Lorsque vous appelez plage (10) vous créez une liste énumérables [0,1,2,3,4,5,6,7,8,9].
Et la boucle juste prendre un numéro après l'autre de la liste à chaque tour, si oui ou non vous haved changé la valeur de i.