生成浮点数序列

时间:2019-07-26 12:02:13

标签: python python-3.x floating-point doctest

我正在为实用程序功能编写doctest以生成浮点数序列。但是,我无法匹配正在生成的某些中间值。不确定为什么某些值是长十进制。

def frange(initial, final, increment):
    """ Return the list of numbers in float format.

    >>> frange(0, 0.7, 0.1)
    [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]

    """
    lst = []
    while(final > initial):
        lst.append(initial)
        initial += increment

    return lst

File "foo.py", line 4, in __main__.frange
Failed example:
    frange(0, 0.7, 0.1)
Expected:
    [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]
Got:
    [0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6]
**********************************************************************
1 items had failures:
   1 of   1 in __main__.frange
***Test Failed*** 1 failures.

0 个答案:

没有答案