1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| from termcolor import cprint
from typing import List
from random import seed, random
import time
Nt: int = 20 # Nombre d'itérations en temps
L: int = 11 # Taille du domaine spatial
X: List[int] = [0]*L # le domaine spatial
pos: int = int(L/2)
X[pos] = 1 # Je met une particule au milieu
cprint(X, 'green')
p: float = 0.5 # probabilité de se déplacer à droite, sinon je vais à gauche
for i in range(Nt):
time.sleep(0.5)
X[pos] = 0
seed(Nt * i)
if random() < p:
pos += 1
else:
pos -= 1
pos = max(0, pos)
pos = min(pos, L-1) # Pour eviter que la particule sorte de ton domaine
X[pos] = 1
# Permet de réécrire sur la meme ligne (pour faire une animation), vous pouvez aussi faire print si vous voulez afficher à la suite
# sys.stdout.write('\r'+str(X))
cprint(X, 'green') |
Partager