我正在尝试打印介于0.00001和0.1之间的数字,
for i in range(0.00001,0.1):
print(i)
但是python抛出错误,说它不能解释为整数。可以在python中做类似的事情吗?
答案 0 :(得分:0)
range仅支持整数。让我们定义自己的
def frange(start, stop, step):
while start < stop:
yield start
start += step
for i in frange(0.5, 1.0, 0.1):
print(i)
答案 1 :(得分:-1)
在range() method documentation中,我们可以阅读以下内容:
范围构造函数的参数必须为整数(内置int或实现__index__特殊方法的任何对象)。
您也没有指定要执行的步骤。因为在任意2个唯一实数之间有无限多个实数,所以您不能真正地全部全部。
您可以做的是将范围的两边乘以相同的数字,直到它们都是整数,然后再用它们进行填充时再将它们除以该数字。我假设您想将步长设为0.00001
mult = 100000
for i in range(1, 10000):
print(i/mult)
如果您需要任何其他步骤,只需向range()方法提供第三个参数即可。