如何在python中定义0到1之间的小数范围? python中的Range()函数只返回int值。我的代码中有一些变量,其编号从0到1不等。我对如何将其放入代码感到困惑。谢谢
我会在我的问题中添加更多内容。没有步骤或任何增量值会生成小数值。我必须使用一个变量,该变量的值可以是0到1.它可以是任何值。但程序应该知道它的范围从0到1的边界。我希望我清楚自己。谢谢
答案 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)
这将输出0
到1
之间的步长为0.1
的十进制数
import numpy as np
mylist = np.arange(0, 1, 0.1)