HomeTortue graphiqueGPanelRobotique WebTigerPython
 Python - Online
Deutsch   English   Français   

6. Boucle while

 

 

TU APPRENDS ICI...

 

à utiliser l’une des structures de programmation les plus importantes. La boucle while peut être utilisée de manière générale pour tout type de répétitions et se retrouve dans pratiquement tous les langages de programmation.

 

 

EXEMPLES

 

Une boucle while commence par le mot-clé while suivi d’une condition et de deux-points. Tant que la condition est remplie, les instructions du bloc de programme suivant sont répétées.
Dans la condition, on utilise en général les opérateurs de comparaison : < (plus petit), <= (plus petit ou égal), > (plus grand), >= (plus grand ou égal), == (égal), != (différent).
Une boucle while nécessite en général une variable à laquelle on attribue une valeur initiale, puis une modification après chaque passage dans la boucle.

Example 1: Dessiner une série de points
De petits cercles rouges doivent apparaître sur la diagonale de la fenêtre graphique. Le premier cercle est dessiné à la position (1, 1), le deuxième à (2, 2), etc.
Dans cet exemple, on utilise une boucle while avec un computeur i, qui détermine aussi la position des cercles. Tant que i est inférieur à 20 (condition de la boucle), les instructions du bloc indenté sont répétées, et i est augmenté de 1à chaque fois.

Programme:     

# Gp6a.py
from gpanel import *

makeGPanel(0, 20, 0, 20)

setColor("red")
i = 1
while i < 20:
    pos(i, i)
    fillCircle(0.5)
    i = i + 1
Copy to clipboard
 



Example 2
: Dessiner un faisceau de lignes
Les points de départ et d’arrivée des lignes sont définis à l’aide de la variable de boucle. Celle-ci parcourt les valeurs de 0 à 40.
Pour mieux observer le dessin, tu ajoutes une courte pause avec delay(100)après chaque ligne.

Programme:     

# Gp6b.py
from gpanel import *

makeGPanel(0, 40, 0, 40)

i = 0
while i <= 40:
    line(i, 0, 40, i)
    delay(100)
    i = i + 1
Copy to clipboard
 



Example 3
: Dessiner une série de cercles (cercles remplis avec bord noir)
Le premier cercle a un rayon de 20 et chaque cercle suivant a un rayon diminué de 1.
Le dessin d’un cercle rempli avec un bord noir est défini dans la fonction blueCircle(r).

Programme:     

# Gp6c.py
from gpanel import *

def blueCircle(r):
    setColor("cyan")
    fillCircle(i)
    setColor("black")
    circle(r)
     
makeGPanel(-20, 20, 0, 40)

i = 20
while i > 0:
    pos(0, i)
    blueCircle(i)
    i = i - 1
    delay(100)
Copy to clipboard
 



Example 4
: Utilisation de boucles while imbriquées
La variable x dans la boucle extérieure prend les valeurs de 1 à 19. Pour chaque nouvelle valeur de x, la boucle intérieure parcourt toutes les valeurs de y (la colonne à la position x est remplie).
Il faut faire attention à l’indentation correcte des deux blocs de programme.

Programme:     

# Gp6d.py
from gpanel import *

makeGPanel(0, 20, 0, 20)

setColor("red")

x = 1
while x < 20:
    y = 1
    while y < x:
        pos(x, y)
        fillCircle(0.5)
        y = y + 1
    x = x + 1
Copy to clipboard
 


 

 

 

À RETENIR...

 

Une boucle while commence par le mot-clé while suivi d’une condition et de deux-points.
Elle nécessite généralement une variable avec une valeur initiale et une modification après chaque itération.

Lors de l’utilisation de boucles while imbriquées, il faut faire attention à l’indentation correcte des blocs de programme.

 

 

À FAIRE PAR TOI-MÊME

 

1)


Choisis un système de coordonnées approprié et dessine le faisceau de lignes ci-contre.

 


 

2)


Complète le faisceau de lignes de l’exemple 2 pour obtenir l’image ci-contre.

 
 
3)


Modifie le programme de l’exemple 4 pour obtenir les graphiques suivants :