Simulation de la planche de Galton (programme de terminale à partir de la rentrée 2020). board(N) simule le trajet de N billes. On suppose que 0<N<159 et plus il y a de billes à lancer, plus ça va vite.
from turtle import * from kandinsky import * from random import * effectifs=[0]*21 def initialisation(): penup() for y in range(10): for x in range(-y,y+1): if (x+y)%2==0: fill_rect(159+16*x,16*y-1,3,3,color(64,24,8)) def une_bille(hauteur): goto(0,100) for k in range(20): setheading(randrange(-135,-43,90)) forward(8*2**0.5) setheading(-90) x = int(round(position()[0],0)) effectifs[x//16+10] += 1 y = 220-hauteur//2*effectifs[x//16+10] fill_rect(150+x,y,20,hauteur,color(200,150,50)) def board(N): assert N==int(N) and 0<N<160 global effectifs effectifs = [0]*21 initialisation() speed(N//20+1) for _ in range(N): une_bille(int(160//N)+1)