文檔測試筆記

# -*- coding: utf-8 -*-
def fact(n):
    '''
    Calculate 1*2*...*n

    >>> fact(1)
    1
    >>> fact(10)
    3628800
    >>> fact(-1)
    Traceback (most recent call last):
      File "C:\Program Files\Python36\lib\doctest.py", line 1330, in __run
        compileflags, 1), test.globs)
      File "<doctest __main__.fact[2]>", line 1, in <module>
        fact(-1)
      File "C:\Users\ZAN\AppData\Local\Temp\learn_python_6q__n9_0_py\test_3.py", line 14, in fact
        raise ValueError()
    ValueError
    '''
    if n < 1:
        raise ValueError()
    if n == 1:
        return 1
    return n * fact(n - 1)

if __name__ == '__main__':
    import doctest
    doctest.testmod()

結果輸出結果有錯誤

  File "C:\Users\ZAN\AppData\Local\Temp\learn_python_6q__n9_0_py\test_6.py", line 19
        '''
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 338-339: truncated \UXXXXXXXX escape

最後發現問題出現再轉義符上,window 讀取文件可以用\,但是在字符串中\是被當作轉義字符來使用。因此只需要對文檔中的路徑進行修改。

 File "C:\\Users\\ZAN\\AppData\\Local\\Temp\\learn_python_6q__n9_0_py\\test_3.py", line 14, in fact

問題即可解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章