定义我们自己的range()的浮点版本,但可以接受浮点值

时间:2016-03-07 15:02:27

标签: python floating-point range

我必须定义一个名为float_range的函数(start,stop,step)。它的作用与内置函数相同,只是它也可以接受浮点值。对于内容,我根本不使用范围函数,我假设start,stop和step是整数或浮点数。我对我的代码遇到的问题是,我相信在其中一个while循环中创建了一个无限循环,并且它没有通过所有测试用例。一些例子是float_range(0,1.0,。25),并且应该在列表中从0到1计数为[0,0.25,.5,。75]或者float_range(0,0.25,-1)这不会工作,因为它永远不会真实,所以它会返回一个空列表。我需要帮助找到我创建的无限循环并传递这些测试用例。

def float_range(start,stop,step):
   range_list = [start]
   Value = start
   while Value != stop: 
      if start < stop:
         while Value < stop:
            Value += step
            range_list.append(Value)
         return range_list[:-1]
      elif start > stop:
         while Value > stop:
            Value += step
            range_list.append(Value)
         return range_list[:-1]

0 个答案:

没有答案