gpt4 book ai didi

python - python中 float 范围的函数

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:40 26 4
gpt4 key购买 nike

我必须在这里定义我自己的 range() 浮点版本。它与内置 range() 函数的工作原理相同,但可以接受浮点值。start、stop 和 step 是整数或 float ,step 是非零值,也可以是负数。

我曾尝试在 stackoverflow 上寻找答案,但所有答案都只对积极的一步有效。我一直卡在测试值 (0,0.25,-1) 的测试中我百分百确定有一个越来越快的方法来实现这个,因为我的程序需要很长时间来测试所有的值。有人可以帮我创建一个函数来执行此操作,但我无法使用导入的工具。

def float(start,stop,step):
x = start
my_list = []
if start < stop:
while x<stop:
my_list.append(x)
if x < 0:
x-=step
elif x > 0:
x+=step
else:
x+=step
return my_list
if start > stop:
while x<=start and x>stop:
my_list.append(x)
if x < 0:
x=step
elif x > 0:
x+=step
else:
x+=step
return my_list

最佳答案

将 float 步数转换为整数步数。由于 float 的舍入,您将减少错误漂移:

def float_range(start,stop,step):
istop = int((stop-start) // step)
for i in range(int(istop)):
yield start + i * step

关于python - python中 float 范围的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com