Ldfd 发表于 2020-2-26 14:53

本人Python小萌新,最近跟廖xx学文档检测,完成作业时写的代码如下

本帖最后由 Ldfd 于 2020-2-26 15:01 编辑

运行时………非常恐怖

So…………What happened?

ymhld 发表于 2020-2-26 19:56

不知道你要干嘛,直接print(fact(100))就显示100的阶乘了

ymhld 发表于 2020-2-26 20:57

注释行写在前面,函数体里只留这些,
def fact(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)
   
if __name__=='__main__':
    import doctest
    doctest.testmod(verbose=True)

ymhld 发表于 2020-2-26 21:16

'''
这个例子展示如何在源码中嵌入doctest用例。
'>>>' 开头的行就是doctest测试用例。
不带 '>>>' 的行就是测试用例的输出。
如果实际运行的结果与期望的结果不一致,就标记为测试失败。
'''
def fact(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)
   
if __name__=='__main__':
    import doctest
    doctest.testmod(verbose=True)

ymhld 发表于 2020-2-26 22:26

廖什么,能发全吗?看这个不错

Ldfd 发表于 2020-2-27 09:29

ymhld 发表于 2020-2-26 22:26
廖什么,能发全吗?看这个不错

廖雪峰,教程挺详细的

Ldfd 发表于 2020-2-27 09:30

ymhld 发表于 2020-2-26 21:16
'''
这个例子展示如何在源码中嵌入doctest用例。
'>>>' 开头的行就是doctest测 ...

谢谢{:1_921:},能用

ymhld 发表于 2020-3-11 10:14

Ldfd 发表于 2020-2-27 09:29
廖雪峰,教程挺详细的

在B站找到了黑马的,基础和面向对象的,但到面向对象100集就没有了,你看的是哪个网站上的,有链接没有?

Ldfd 发表于 2020-3-11 10:30

ymhld 发表于 2020-3-11 10:14
在B站找到了黑马的,基础和面向对象的,但到面向对象100集就没有了,你看的是哪个网站上的,有链接没有?

百度搜就行,不是视频,是文本
页: [1]
查看完整版本: 本人Python小萌新,最近跟廖xx学文档检测,完成作业时写的代码如下