L’aléatoire

L’aléatoire est ce qui relève du hasard. Quand on roule un dé, son résultat est aléatoire.

Dans des jeux ou des animations, il est souvent nécessaire de pouvoir calculer des valeurs aléatores. Le module random permet de trouver des valeurs aléatoires.

Partant du centre, la tortue visite les 13 sections de l’EPFL qui se trouvent tous à des positions aléatoires sur cette carte.

../_images/epfl4.png

epfl4.py

Position aléatoire

Pour pouvoir utiliser des fonctions aléatoirs nous devons d’abord importer le module random:

import random

La fonction random.randint(-100, 100) retourne une valeur aléatoire qui se situe entre les deux valeurs -100 et 100. Pour obtenir une position aléatoire, nous devons calculer deux valeurs, x et y.

../_images/random1.png
from turtle import *
import random

dot()
for i in range(20):
    x = random.randint(-200, 200)
    y = random.randint(-100, 100)
    goto(x, y)
    dot()

done()
    

random1.py

Angle aléatoire

Pour simuler la marche aléatoire d’une fourmi, nous pouvons garder la distance de chaque pas constante, et choisir l’angle du changement de direction à chaque itération comme ceci:

angle = random.randint(-90, 90)
../_images/random2.png
from turtle import *
import random

dot()
for i in range(100):
    angle = random.randint(-90, 90)
    forward(20)
    left(angle)
    dot()

done()

random2.py

Taille aléatoire

Ci-dessous la tortue va à une position (x, y) aléatoire et choisit une taille aléatoire dans l’intervalle [10, 50] pour dessiner un cercle:

size = random.randint(10, 50)
goto(x, y)
dot(size)
../_images/random3.png
from turtle import *
import random

dot()
for i in range(20):
    x = random.randint(-200, 200)
    y = random.randint(-100, 100)
    size = random.randint(10, 50)  
    goto(x, y)
    dot(size)

done()
    

random3.py

Couleur aléatoire

La fonction random.choice(list) permet de choisir un élément dans une liste. Il faut d’abord définir une liste:

colors = ('red', 'blue', 'green', 'violet', 'yellow', 'cyan', 'orange', 'magenta')

Ensuite un élément aléatoire est choisi dans cette liste et utilisé comme nouvelle couleur pour la tortue:

color = random.choice(colors)
pencolor(color)
../_images/random4.png
from turtle import *
import random

colors = ('red', 'blue', 'green', 'violet', 'yellow', 'cyan', 
    'orange', 'magenta')


dot()
for i in range(15):
    x = random.randint(-200, 200)
    y = random.randint(-100, 100)
    color = random.choice(colors)
    pencolor(color)
    goto(x, y)
    dot(40)

done()
    

random4.py