Как получить случайное число в диапазоне с плавающей точкой? - PullRequest
343 голосов
/ 22 мая 2011

randrange(start, stop) принимает только целочисленные аргументы. Так как бы получить случайное число между двумя значениями с плавающей запятой?

Ответы [ 3 ]

545 голосов
/ 22 мая 2011

Использование random.uniform (a, b) :

>>> random.uniform(1.5, 1.9)
1.8733202628557872
65 голосов
/ 22 мая 2011

random.uniform(a, b) - это то, что вы ищете. Из документов:

Вернуть случайное число с плавающей точкой N, такое, что a <= N <= b для a <= b и b <= N <= a для b <a. </p>

См. здесь .

25 голосов
/ 02 апреля 2018

Если вы хотите сгенерировать случайное число с плавающей запятой с N цифрами справа от точки, вы можете сделать это:

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

второй аргумент - количество десятичных знаков.

...