web-dev-qa-db-fra.com

Comment obtenir un nombre aléatoire entre une plage de float?

randrange(start, stop) ne prend que des arguments entiers. Alors, comment pourrais-je obtenir un nombre aléatoire entre deux valeurs flottantes?

348
Mantis Toboggan

Utilisez random.uniform (a, b) :

>>> random.uniform(1.5, 1.9)
1.8733202628557872
554
Yuri Stuken

random.uniform(a, b) semble être ce que vous cherchez. De la docs:

Retourne un nombre aléatoire N tel que a <= N <= b pour a <= b et b <= N <= a pour b <a.

Voir ici .

66
garnertb

si vous voulez générer un nombre aléatoire avec N chiffres à droite du point, vous pouvez créer ceci:

round(random.uniform(1,2), N)

le deuxième argument est le nombre de décimales.

28
Baurin Leza