web-dev-qa-db-ja.com

浮動小数点数の範囲内で乱数を取得する方法

randrange(start, stop)は整数引数のみを取ります。それでは2つのfloat値の間の乱数をどうやって得るのでしょうか?

328
Mantis Toboggan

random.uniform(a、b) :を使用してください。

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

random.uniform(a, b)はあなたが探しているもののようです。ドキュメントから:

A <= bに対してa <= N <= b、b <aに対してb <= N <= aとなるように、ランダムな浮動小数点数Nを返します。

ここ を参照してください。

62
garnertb

もしポイントの右側にN桁のランダムなfloatを生成したいなら、これを作ることができます:

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

2番目の引数は小数点以下の桁数です。

19
Baurin Leza