Nombre aléatoire (Python) [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
vendredi 6 novembre 2009
Statut
Membre
Dernière intervention
20 décembre 2011
-
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
-
Bonjour,
J'aimerai créé un nombre aléatoire compris dans l'intervalle [2; plus l'infinie] sur python. Est ce possible ?
Merci d'avance.

3 réponses

Messages postés
30
Date d'inscription
samedi 3 juillet 2010
Statut
Membre
Dernière intervention
1 février 2012
10
je ne crois pas a l'infini mais essaye sa

import random
r = random.randint(1,100)


Et pour les autres fonctions de random:
https://docs.python.org/3/library/random.html
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 751
Voir même : random.randint(2,100)
de tt manière un nombre est tjrs "limité" sur ordi tu doit choisir une borne maxi...et pas trop grandedeja tu peux essayer de trouver la valeur maxi des long sur python.org

heu peut être pas tjrs je connais pas tout mais en c java python tout les trucs normaux c limité mais il y a certains langages ou on peut redéfinir le nombre de bits utilisés pour les nombres (genre ada je crois)

perso si quelqu'un sait comment on peut arriver a avoir des float suffisamment grands (genre un équivalent du double en c j'suis preneur)
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
124
salut yop

Avec Python, les entiers très grands ont une précision illimitée. Tu peux par exemple utiliser des entiers de 250 chiffres si ça te chante.

Pour les floats, il existe en Python un module "decimal" qui permet de faire à peu près n'importe quoi de ce qu'on veut.
Par exemple, on peut fixer la précision après la virgule comme on la veut, au travers d'un attribut getcontext(), la précision par défaut étant 28 chiffres après la virgule:



from decimal import *


print getcontext()
print Decimal(1) / Decimal(7)

print
getcontext().prec = 123
print Decimal(1) / Decimal(7)


affiche

Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999999, Emax=999999999, capitals=1, flags=[], traps=[DivisionByZero, InvalidOperation, Overflow])
0.1428571428571428571428571429

0.142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857143
Messages postés
18
Date d'inscription
vendredi 6 novembre 2009
Statut
Membre
Dernière intervention
20 décembre 2011
1
Oui merci :)
Messages postés
30
Date d'inscription
samedi 3 juillet 2010
Statut
Membre
Dernière intervention
1 février 2012
10
de rien. N'oublie pas de mettre ton sujet en résolu