HomeTortue graphiqueGPanelRobotique WebTigerPython
 Python - Online
Deutsch   English   Français   

3. Répétition avec repeat/ Nombes aléatoires

 

 

TU APPRENDS ICI...

 

que la boucle repeat te permet d'exécuter certaines parties du programme plusieurs fois.

Les nombres aléatoires forment la base de nombreuses simulations. Ils sont générés par un algorithme aléatoire qui est contenu dans le module randomde Python.

 

 

EXEMPLE

 


Example 1
: Clignotant
À l’image d’un feu de signalisation, un cercle rouge doit être affiché puis effacé 10 fois de suite. Tu dessines d’abord un cercle rouge rempli et le fais apparaître pendant 400 millisecondes. Un programme en cours peut être mis en pause avec la commandedelay(time). Puis le cercle est repassé en blanc et le programme est arrêté pendant 400 millisecondes. Pour répéter ce processus 10 fois, utilise la commande repeat 10: (les deux-points sont importants). Les instructions qui se répètent forment un bloc de boucle et doivent être indentées de la même façon. Pour cela, utilise quatre espaces ou la touche Tab.

Programme:      

# Gp3a.py
from gpanel import *

makeGPanel(-10, 10, -10, 10)

repeat 10:
    setColor("red")
    fillCircle(3)
    delay(400)
    setColor("white")
    fillCircle(3.1)
    delay(400)
Copy to clipboard
 


Examplel 2
: Dessiner des cercles à des positions choisies aléatoirement

La commande randint(a, b) fournit un nombre entier aléatoire dans l’intervalle [a, b] (les deux bornes incluses). Par exemple, on obtient des valeurs de dé randonnées avec randint(1, 6). Avec la commande random() sont générés des nombres aléatoires entre 0 (inclus) et 1 (exclus) avec 10 chiffres après la virgule (par exemple 0.69880747453).

Dans l’exemple, 100 petits cercles rouges doivent être distribués aléatoirement sur la surface de la fenêtre graphique. D’abord, la position du cercle est déterminée avec deux nombres aléatoires dans l’intervalle 0 à 100, puis le cercle est dessiné. Avec repeat 100:, ce processus est répété 100 fois.

Programme:      

# Gp3b.py
from gpanel import *
from random import randint

makeGPanel(-2, 102, -2, 102)

setColor("red")
repeat 200:
    pos(randint(0, 100), randint(0, 100))
    fillCircle(2)
    delay(50)
Copy to clipboard
 

 

 

À RETENIR...

 

Avec repeat, tu peux exécuter des blocs de programme plusieurs fois. Python dispose aussi de boucles while et for, qui nécessitent toutefois le concept de variables et seront présentées plus tard.

from random import randint importe la fonction randint(a, b) depuis le module random. Celle-ci fournit un nombre entier aléatoire dans l’intervalle [a, b] (les deux bornes incluses).

 

 

À FAIRE PAR TOI-MÊME

 

1)


Programmer une installation de clignotement qui passe successivement par les couleurs rouge, jaune et verte et répète ce processus 10 fois. Choisis une période d’affichage de 400 ms. Si tu laisses de côté le nombre de répétitions dans l’instruction repeat, l’installation clignotera aussi longtemps que la fenêtre graphique est ouverte.

 
 

2)

Trace des lignes de connexion du point (0, 0) vers 200 points choisis aléatoirement.
 


 

3)

Dans l’œuvre ci-contre, la position et le rayon des cercles remplis ainsi que les couleurs sont choisis aléatoirement et donnent à chaque exécution du programme une image différente.

Pour la génération des couleurs, utilise la commande setColor(r, g, b), où les nombres r, g, b représentent respectivement les composants rouge, vert et bleu (un nombre entre 0 et 255). Les couleurs aléatoires s’obtiennent avec: setColor(randint(0, 255), randint(0, 255), randint(0, 255))