Tirage aléatoire d'un entier (python)
Bonjour,
si je résume, il y a deux possibilités de simuler le lancer d'un dé équilibré à 6 faces sur Python :
- soit avec randint(1,6)
- soit avec randrange(1,7)
Pour des élèves de seconde, je pense que c'est suffisant (et plus simple car cela fait penser à l'instruction de la TI) de passer par randint(1,6)... Qu'en pensez-vous ?
si je résume, il y a deux possibilités de simuler le lancer d'un dé équilibré à 6 faces sur Python :
- soit avec randint(1,6)
- soit avec randrange(1,7)
Pour des élèves de seconde, je pense que c'est suffisant (et plus simple car cela fait penser à l'instruction de la TI) de passer par randint(1,6)... Qu'en pensez-vous ?
Réponses
-
Sachant que les deux sont parfaitement équivalentsAide de python a écrit:randint(a, b)
Return a random integer N such that a <= N <= b. Alias for randrange(a, b+1). -
Je crois que c'est avant tout une question de goût. Quand on utilise souvent la fonction range() (très, très utile) et pas souvent randint(), randrange() permet de ne pas se casser la tête à se demander si les bornes sont incluses ou non : même sémantique que range().
-
Bonjour,
randint(1,6) me paraît mieux pour des secondes, pas la peine de les embêter avec les intervalles semi-ouverts à droite.
Cordialement,
Rescassol -
On peut aussi utiliser
choice([1,2,3,4,5,6]),
qui a l'avantage de pouvoir s'utiliser avec n'importe quelle liste (et même n'importe quel objet itérable) et permet par conséquent de changer la fréquence d'apparition d'un nombre. -
Bonjour,
Oui, Bisam, mais tu aurais pu préciser que choice est dans random, et qu'il un importation préliminaire.
Cordialement,
Rescassol -
Il faut que l’itérable puisse utiliser l’opérateur crochet avec dedans un index :
>>> choice({1,2,3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.8/random.py", line 291, in choice return seq[ i] TypeError: 'set' object is not subscriptable >>> choice({1:1,2:2,3:3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.8/random.py", line 291, in choice return seq[ i] KeyError: 0 >>> choice({0:None,1:1,2:2,3:3}) 2 >>> choice({0:0,1:1,2:2,3:3}) 1 >>> choice({"0":0,"1":1,"2":2,"3":3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.8/random.py", line 291, in choice return seq[ i] KeyError: 2
[Ah ! Mettre une ' ' entre [ et i sinon, l'afficheur du forum le prend pour une bannière BBcode de mise en italique. ;-) AD]Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres