Boucles for et while

Il existe deux types de boucles :

  • Boucles bornées avec le mot for
  • Boucle non bornées avec le mot while

Quand on sait combien de fois doit avoir lieu la répétition, on utilise généralement une boucle for. Si on ne connait pas à l’avance le nombre de répétitions, on choisit une boucle while.

Boucle bornée : for

Voici une boucle qui affiche les premiers carrés.

for i in range(10): 
    print(i*i)

La seconde ligne est décalée et constitue le bloc à répéter. La variable i prend la valeur 0 et l’instruction affiche 02 ; puis i prend la valeur 1, et l’instruction affiche 12 ; puis 22, 32. . . Donc ce programme affiche : 0, 1, 4, 9, 16, 25, 36, 49, 64, 81. Attention : la dernière valeur prise par i est bien 9 (et pas 10).

On dit que l’on réalise une itération de la boucle à chaque fois que le corps de la boucle est exécuté.

Le programme suivant affiche les lettres composant un mot :

mot = "fleur"
for lettre in mot:
    print(lettre)

Boucle non bornée : while

La boucle « tant que » exécute des instructions tant qu’une condition est vraie. Dès que la condition devient fausse, elle passe aux instructions suivantes.

Le programme suivant affiche la valeur la valeur de a tant que a < 8. Le résultat sera : 2, 3, 4, 5, 6, 7

a = 1
while a < 8:
    a = a + 1
    print (a)

La fonction suivante donne la première puissance de 2 plus grande qu’un entier n donné en paramètre. Par exemple, si n=100, alors la fonction affichera : 2 puissance 7 = 128 > 100.

def f(n):
    p = 0
    while 2**p < n:
        p = p + 1
    print("2 puissance",p,"=",2**p,">",n)
Print Friendly, PDF & Email