Pourquoi:
2 4 6 8 10
renvoie:
1 2 3 4 5 6 7 8 9 10
au lieu de:
for i in range(10): i += 1 print(i)
?
Voici quelques détails si d'autres étaient nécessaires.
3 Réponses :
vous devez utiliser les étapes de votre plage:
2 4 6 8 10
sortie:
for i in range(2,11,2):
print(i)
iterator = iter(range(10))
try:
while True:
i = next(iterator)
i += 1
print(i)
except StopIteration:
pass
i est attribué à chaque itération de boucle en écrasant toutes les modifications apportées à sa valeur.
i = 0 # first iiteration i += 1 print(i) i = 1 # second iiteration i += 1 print(i) i = 2 # third iiteration i += 1 print(i) # etc up to i = 9
équivaut à:
for i in range(10):
i += 1
print(i)