如何创建0到1之间的随机十进制数范围

时间:2011-07-28 17:44:21

标签: python

如何在python中定义0到1之间的小数范围? python中的Range()函数只返回int值。我的代码中有一些变量,其编号从0到1不等。我对如何将其放入代码感到困惑。谢谢

我会在我的问题中添加更多内容。没有步骤或任何增量值会生成小数值。我必须使用一个变量,该变量的值可以是0到1.它可以是任何值。但程序应该知道它的范围从0到1的边界。我希望我清楚自己。谢谢

http://docs.python.org/library/random.html

6 个答案:

答案 0 :(得分:9)

如果您要查找0到1之间的随机数列表,我认为您可以很好地使用random模块

>>> import random
>>> [random.random() for _ in range(0, 10)]
[0.9445162222544106, 0.17063032908425135, 0.20110591438189673,
 0.8392299590767177, 0.2841838551284578, 0.48562600723583027,
 0.15468445000916797, 0.4314435745393854, 0.11913358976315869,
 0.6793348370697525]

答案 1 :(得分:6)

for i in range(100):
    i /= 100.0
    print i

另外,请查看decimal

答案 2 :(得分:1)

def float_range(start, end, increment):
    int_start = int(start / increment)
    int_end = int(end / increment)
    for i in range(int_start, int_end):
        yield i * increment

答案 3 :(得分:0)

列表推导似乎在这里非常有用。

  mylist = [x / n for x in range(n)]

那样的东西?我的Python生锈了。

答案 4 :(得分:0)

>>> from decimal import Decimal
>>> [Decimal(x)/10 for x in xrange(11)]
[Decimal("0"), Decimal("0.1"), Decimal("0.2"), Decimal("0.3"), Decimal("0.4"), Decimal("0.5"), Decimal("0.6"), Decimal("0.7"), Decimal("0.8"), Decimal("0.9"), Decimal("1")]

编辑,评论Mark Random的回答:

如果你真的不想要一个平滑的增量范围,而是一个0到1之间的随机数,请使用random.random()

答案 5 :(得分:0)

这将输出01之间的步长为0.1的十进制数

import numpy as np
mylist = np.arange(0, 1, 0.1)