Projet : Lancé de dés et désintégration spontanée ☢
Démarrons une activité différente : Pour le moment, on a surtout vu des exemples qui servent à appliquer des notions de programmation, mais la contextualisation physique était parfois tirée par les cheveux.
Le but était de manipuler pour prendre en main, afin d'arriver sur des applications plus concrètes (modules 3,4,5).
Voyons maintenant un cas qui s'applique parfaitement en physique et peut présenter une bonne première application pour les élèves : Le cas de la désintégration spontanée
Dans l'idée, on pourra définir une liste qui contient N éléments (les "dés" ou "noyaux"). On peut aussi le faire simplement via un nombre.
On pourra également définir une fonction qui lancé le dé de manière aléatoire. Pour cela, on a besoin d'un module "random"
On pourra utiliser une fonction qui va effectuer un lancé pour tous les éléments d'une liste, et enlever les dès qui ont fait "6" par exemple. On verra donc la population diminuer.
On pourra stocker le nombre d’éléments (= la population) dans une liste pour avoir le suivi.
Enfin, l'idée est de pouvoir proposer cette activité aux élèves : On proposera donc des activités à réaliser autour du code : code à compléter ? à comprendre ? à poursuivre ?
Dans python, on peut concaténer des listes (les réunir)
a = ["a","b","c"]
b = ["d","e","f"]
c = a + b
>>> c
['a', 'b', 'c', 'd', 'e', 'f']On peut donc si on veut N éléments faire N addition
liste = [1] + [2] + ... + [N]
>>> liste
[1,2,...,N]Ce qui correspond à multiplier un élément N fois !
liste = N * ["élément"]
#exemple
liste = 4 * ["dé"]
>>> liste
['dé', 'dé', 'dé', 'dé']Pour le cas de désintégration, le contenu de la variable importe peu, c'est leur nombre qui nous intéresse. On pourra très bien avoir comme ça 100 000 noyaux dans une liste.
Pour générer un nombre aléatoire, on a besoin d'une fonction qui n'est pas disponible nativement, mais qui est dans un module externe. Ce point sera abordé plus en détail dans le module 3 de la formation.
Pour générer un entier aléatoire (le cas du lancé de dé)
Votre programme doit faire appel au module
random. On place au début du code (par convention) la ligne suivante :On utilise la fonction
randint(début,fin)pour générer un entier. On l'appelle en spécifiant qu'elle est contenu dans le module random ainsi :random.randint(debut,fin)
Last updated
Was this helpful?