Boucles imbriquées en python (boucles for)

Résolu
Jorvi276 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Jorvi276 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir a tous,
J aurai besoin d un petit éclaircissement concernant l exemple d exercice que j ai trouvé.
Les 2 boucles imbriquées partage la même variable d incrementation (i).
La boucle du bas(donc la boucle intérieure) incremente i , et par conséquent aussi l'autre boucle vu qu elles se partagent la meme variable.

A mon sens une des boucles devrai avoir un 'i' et l autre boucle un 'j'.

Je ne comprends pas pourquoi ce code (que j ai testé) fonctionne correcement.

Merci d avance et bonne soirée
A voir également:

2 réponses

jee pee Messages postés 41501 Date d'inscription   Statut Modérateur Dernière intervention   9 712
 
Bonjour,

Tu as raison dans le sens où il serait plus lisible, clair d'utiliser i et j.

Pourquoi ce n'est pas obligatoire :
for i in range(3):
    print("debut",i)
    for i in range(3):
       print("seconde",i)
    print("fin",i)


debut 0
seconde 0
seconde 1
seconde 2
fin 2
debut 1
seconde 0
seconde 1
seconde 2
fin 2
debut 2
seconde 0
seconde 1
seconde 2
fin 2


En fait le for ne fait pas une incrémentation de la variable en fin de boucle, il agit comme avec une liste de variables à traiter un for i in (0,1,2), donc quand il relance la boucle, il prend la valeur suivante de la liste, pas un +1 sur la valeur courante de i. Mais on voit bien que si on voulait utiliser i de la première boucle après la seconde, sa valeur n'est pas correcte. La syntaxe de l'exercice n'est valable que parce que l'indice i n'est pas utilisé dans les boucles, il sert juste à réaliser 3 cycles.

0
Jorvi276 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir, merci d avoir pris le temps de me repondre.

Bonne soirée
0