Discuss / Python / 对函数fact(n)编写doctest

对函数fact(n)编写doctest

Topic source

就是把函数中doctest部分测试代码期待的输出值列出来,替换掉?就行了。

不知道应该是个什么值,那么就可以先运行一遍,期待的输出值就有了。

def fact(n):

    '''

    Calculate 1*2*...*n

    >>> fact(1)

    1

    >>> fact(10)

    3628800

    >>> fact(-1)

    Traceback (most recent call last):

        ...

    ValueError

    '''

    if n < 1:

        raise ValueError()

    if n == 1:

        return 1

    return n * fact(n - 1)


  • 1

Reply