issue158:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
issue158:python [2020/07/03 14:21] – auntiee | issue158:python [2020/07/03 14:54] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
Pourquoi ai-je décidé de mettre Loi entre guillemets ? Parce que ce n'est pas réellement une loi : | Pourquoi ai-je décidé de mettre Loi entre guillemets ? Parce que ce n'est pas réellement une loi : | ||
••Il EXISTE une Loi des Grands Nombres qui affirme en gros que si vous réalisez la même expérience un grand nombre de fois, la moyenne des résultats devrait être proche du résultat attendu. | ••Il EXISTE une Loi des Grands Nombres qui affirme en gros que si vous réalisez la même expérience un grand nombre de fois, la moyenne des résultats devrait être proche du résultat attendu. | ||
- | ••La Loi des Vraiment Grands Nombres soutient | + | ••La Loi des Vraiment Grands Nombres soutient |
**This month, we will experiment to see if we can experience either of these two " | **This month, we will experiment to see if we can experience either of these two " | ||
Ligne 23: | Ligne 23: | ||
D' | D' | ||
- | Un nombre aléatoire est un nombre qui est indépendant | + | Un nombre aléatoire est un nombre qui est indépendant, sans aucune corrélation avec aucune suite de nombres. |
La théorie des probabilités dit, en gros, que, si vous avez deux résultats qui ont des chances égales d' | La théorie des probabilités dit, en gros, que, si vous avez deux résultats qui ont des chances égales d' | ||
Ligne 31: | Ligne 31: | ||
Now, let's create a VERY simple Python program to check this out. We will use the numpy library for the random number generator, rather than the built-in Python random number generator. While both are pretty much the same thing, the numpy library has some additional options that make it a better choice for future work. It's not good enough for serious cryptography use, but for what we need, it's fine. Because of the f-string formatting, you will need to use Python 3.7 or greater.** | Now, let's create a VERY simple Python program to check this out. We will use the numpy library for the random number generator, rather than the built-in Python random number generator. While both are pretty much the same thing, the numpy library has some additional options that make it a better choice for future work. It's not good enough for serious cryptography use, but for what we need, it's fine. Because of the f-string formatting, you will need to use Python 3.7 or greater.** | ||
- | Jurrasic Park de Michael Crichton (que ce soit le livre ou le film, mais, à mon avis, le film est plus amusant) contient une bonne (mais simplifiée) présentation de la Théorie du Chaos où Ian Malcolm (joué par Jeff Goldblum) décrit la direction que prendra une goutte d'eau glissant le long de la main du docteur Elie Sattler (joué par Laura Dern). On peut dire la même chose au sujet d'une pièce tombant sur le sol ou dans le creux de votre main. L'un ou l' | + | Jurrasic Park de Michael Crichton (que ce soit le livre ou le film, mais, à mon avis, le film est plus amusant) contient une bonne (mais simplifiée) présentation de la Théorie du Chaos où Ian Malcolm (joué par Jeff Goldblum) décrit la direction que prendra une goutte d'eau glissant le long de la main du docteur Elie Sattler (joué par Laura Dern). On peut dire la même chose au sujet d'une pièce tombant sur le sol ou dans le creux de votre main. L'une ou l' |
Maintenant créons un programme TRÈS simple en Python pour le tester. Nous utiliserons la bibliothèque numpy pour le générateur de nombres aléatoires, | Maintenant créons un programme TRÈS simple en Python pour le tester. Nous utiliserons la bibliothèque numpy pour le générateur de nombres aléatoires, | ||
Ligne 66: | Ligne 66: | ||
It’s not what you would expect to be. You would expect a 50% number of Heads each time. Take a coin and try it. You will find a similar result. It won’t be 50% each time. Remember the Chaos Theory?** | It’s not what you would expect to be. You would expect a 50% number of Heads each time. Take a coin and try it. You will find a similar result. It won’t be 50% each time. Remember the Chaos Theory?** | ||
- | Maintenant, passons à la liste des nombres retournés et comptons le nombre de zéros | + | Maintenant, passons à la liste des nombres retournés et comptons le nombre de 0 et de 1. |
- | Appelez le programme cointoss.py et lancez-le. Vous devriez voir la sortie suivante... | + | Appelez le programme cointoss.py et lancez-le. Vous devriez voir la sortie suivante |
$ python cointoss.py | $ python cointoss.py | ||
Ligne 94: | Ligne 94: | ||
Percentage of Heads: 49.943%** | Percentage of Heads: 49.943%** | ||
- | Il s' | + | Il s' |
- | Je vais réduire la sortie (montrée ci-dessous) pour économiser la place, mais voici ce que vous pouvez voir... | + | Je vais réduire la sortie (montrée ci-dessous) pour économiser la place, mais voici ce que vous pouvez voir : |
- | Cette fois-ci les résultats sont beaucoup plus proches de 50 %, mais pas vraiment assez proches. Et ça donnerait quoi si nous faisions une série de 100000 | + | Cette fois-ci les résultats sont beaucoup plus proches de 50 %, mais pas vraiment assez proches. Et ça donnerait quoi si nous faisions une série de 100 000 lancers ? Modifez la variable todo en 100 000 et re-lancez le programme. |
[1 1 0 ... 0 0 0] | [1 1 0 ... 0 0 0] | ||
Ligne 112: | Ligne 112: | ||
“In July 1975, a taxi in Hamilton, Bermuda knocked Erskine Lawrence Ebbin from his moped, killing him. The year before, his brother Neville Ebbin had been killed by the same driver driving the same taxi and carrying the same passenger while riding the same moped on the same street.”** | “In July 1975, a taxi in Hamilton, Bermuda knocked Erskine Lawrence Ebbin from his moped, killing him. The year before, his brother Neville Ebbin had been killed by the same driver driving the same taxi and carrying the same passenger while riding the same moped on the same street.”** | ||
- | Maintenant, nous sommes très près du résultat que nous attendons, | + | Maintenant, nous sommes très près du résultat que nous attendons, |
- | Mais alors, la « Loi des Vraiment Grands Nombres » ? Une des exemples qui sont souvent utilisés pour l' | + | Mais alors, la « Loi des Vraiment Grands Nombres » ? Un des exemples qui sont souvent utilisés pour l' |
**In another example, | **In another example, | ||
Ligne 124: | Ligne 124: | ||
seed(1)** | seed(1)** | ||
- | Un autre exemple : « Lors d'un match de foot avec 50 000 supporters, la plupart des supporters partagent probablement leur date de naissance avec 135 autres dans l' | + | Un autre exemple : « Lors d'un match de foot avec 50 000 supporters, la plupart des supporters partagent probablement leur date de naissance avec 135 autres dans l' |
from numpy.random import seed | from numpy.random import seed | ||
Ligne 141: | Ligne 141: | ||
Finally, we create a date (I picked my son’s birthday) to see if it is in the list and print the number of times it occurred, if in fact it did.** | Finally, we create a date (I picked my son’s birthday) to see if it is in the list and print the number of times it occurred, if in fact it did.** | ||
- | À nouveau, nous débutons par les imports (nous avons ajouté dateline dans cet exemple) et réglons la valeur de la semence. Ensuite, nous fixons à 50000 le chiffre des nombres aléatoires de notre liste et créons une liste vide. | + | À nouveau, nous débutons par les imports (nous avons ajouté dateline dans cet exemple) et réglons la valeur de la semence. Ensuite, nous fixons à 50 000 le chiffre des nombres aléatoires de notre liste et créons une liste vide : |
todo = 50000 | todo = 50000 | ||
dates = [] | dates = [] | ||
- | Nous bouclons alors dans une série de déclarations qui récupèrent les dates valides aléatoirement. (J' | + | Nous bouclons alors dans une série de déclarations qui récupèrent les dates valides aléatoirement. (J' |
Enfin, nous créons une date (j'ai pris la date de naissance de mon fils) pour voir si elle est dans la liste et imprimer le nombre de fois où je la trouve, si elle y est, en fait. | Enfin, nous créons une date (j'ai pris la date de naissance de mon fils) pour voir si elle est dans la liste et imprimer le nombre de fois où je la trouve, si elle y est, en fait. |
issue158/python.1593778903.txt.gz · Dernière modification : 2020/07/03 14:21 de auntiee