#Ceci permet d'utiliser la fonction randint qui tire un entier au hasard entre #deux bornes import random #Cette bibliothèque de fonction permet de tracer facilement des courbes import matplotlib.pyplot as plt #Cette partie permet d'afficher la courbe représentant le nombre de dés #restant en fonction de nombre de lancés elle ne sera activée qu'à la fin du TP def affichageCourbe(historiqueNbDes) : plt.plot([float(y) for y in historiqueNbDes]) plt.grid(True) #Affichage la grille plt.title("Décroissance radioactive") #Titre de la courbe plt.xlabel("Temps") #Titre de l'axe des abscisses plt.ylabel("Nombre de noyaux") #titre de l'axe des ordonnées plt.show() nbDesDepart = 100000 #Nombre de dés à lancer nbFaces = 6 #Nombre de faces de chaque dé DESINTEGRE = 1 #Valeur de la face du dé qui le désintégre ############################################################################### #Fonction qui tire un nombre de dés quelconque et détermine combien il en #reste qui ne se sont pas désintégrés (ont fait un "1") # #Entrée : nombreDesInitial : entier représentant le nombre de dés à tirer #Sortie : entier représentant le nombre de dés qui n'ont pas donné "1" ############################################################################### def tireLesDes(nombreDesInitial) : nbDes = nombreDesInitial #Au début aucun dé n'est désintégré for i in range(nombreDesInitial) : valeurDe = random.randint(1, nbFaces) if valeurDe == DESINTEGRE : nbDes = nbDes - 1 return nbDes ############################################################################### # Programme principal # ############################################################################### nbDes = nbDesDepart #Au départ tous les dés sont "vivants" historiqueNbDes = [nbDes] #Liste contenant le nombre de dés restants après #chaque étape. Au départ ce nombre est au maximum while nbDes > 0 : #Tant qu'il reste des dés, on effectue le tirage nbDes = tireLesDes(nbDes) #On tire les dés et détermine combien il en reste historiqueNbDes.append(nbDes) #On rajoute le nombre de dés restant à #l'historique #C'est fini, il ne reste plus de dés affichageCourbe(historiqueNbDes) #On affiche la courbe