作业帮 > 综合 > 作业

python中for i in range(0, 3.0 , 0.1)为什么错?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/03 10:37:40
python中for i in range(0, 3.0 , 0.1)为什么错?
如果想要输出公差为0.1的等差数列呢?
python中for i in range(0, 3.0 , 0.1)为什么错?
    
python中的浮点数range方法
  我们知道python中有个range函数用来产生一个范围内的数字数组,但是浮点数没有,我们来定义一个
                              
                                    #python中的range函数支持步进,如下:
>>> print range(2,15,3)
[2, 5, 8, 11, 14]

#但是浮点数不支持range函数,自己定义一个类似的
def floatrange(start,stop,steps):
    ''' Computes a range of floating value.
       
        Input:
            start (float)  : Start value.
            end   (float)  : End value
            steps (integer): Number of values
       
        Output:
            A list of floats
       
        Example:
            >>> print floatrange(0.25, 1.3, 5)
            [0.25, 0.51249999999999996, 0.77500000000000002, 1.0375000000000001, 1.3]
    '''
    return [start+float(i)*(stop-start)/(float(steps)-1) for i in range(steps)]

#运行范例:
>>> print floatrange(0.25, 1.3, 5)
[0.25, 0.51249999999999996, 0.77500000000000002, 1.0375000000000001, 1.3]