0.3452のような、0から1の間の乱数が欲しいです。私はrandom.randrange(0, 1)を使いましたが、いつも0になってしまいます。どうすればいいですか?
random.randrange(0, 1)
random.uniform` を使うことができます。
import random random.uniform(0, 1)
random.random() はまさにそれを行います。
random.random()
>>> import random >>> for i in range(10): ... print(random.random()) ... 0.908047338626 0.0199900075962 0.904058545833 0.321508119045 0.657086320195 0.714084413092 0.315924955063 0.696965958019 0.93824013683 0.484207425759
本当に乱数が欲しい場合、そして [0, 1] の範囲をカバーしたい場合。
>>> import os >>> int.from_bytes(os.urandom(8), byteorder="big") / ((1
0.3452のような0から1の間の乱数が欲しいです。
random.random()`は、あなたが探しているものです。
Pythonのドキュメントより: random.random() 次のランダムな浮動小数点数を返します。 [0.0, 1.0]の範囲で次のランダムな浮動小数点数を返します。
それと、Why your try didn't work?です。
あなたが試したのは、random.randrange(0, 1)です。
pythonのドキュメントより。
random.randrange() range(start, stop, step)からランダムに選択された要素を返します。これは choice(range(start, stop, step)) と同等ですが、実際には range オブジェクトを構築しません。
つまり、random.randrange(a,b)でやっていることは、range(a,b)からランダムな要素を選ぶことです。あなたの場合は、range(0,1)からですが、どうでしょう!:range(0,1)に含まれる唯一の要素は0なので、range(0,1)から選択できる唯一の要素は0です。
random.randrange(a,b)
range(a,b)
range(0,1)
0
random.uniform` を使うことができます。
random.random()
はまさにそれを行います。本当に乱数が欲しい場合、そして [0, 1] の範囲をカバーしたい場合。
random.random()`は、あなたが探しているものです。
それと、Why your try didn't work?です。
あなたが試したのは、
random.randrange(0, 1)
です。pythonのドキュメントより。
つまり、
random.randrange(a,b)
でやっていることは、range(a,b)
からランダムな要素を選ぶことです。あなたの場合は、range(0,1)
からですが、どうでしょう!:range(0,1)
に含まれる唯一の要素は0
なので、range(0,1)
から選択できる唯一の要素は0
です。