Boucles imbriquées en python (boucles for)

Résolu
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

2 réponses

  1. Bonsoir, merci d avoir pris le temps de me repondre.

    Bonne soirée
    1. Modérateur
      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.