2010-05-26 15 views
1

Salut, j'ai récemment commencé à expérimenter avec Python en cours de lecture "Pensez comme un informaticien: Apprentissage python v2nd édition" J'ai eu quelques problèmes avec doctest. J'utilise une machine Windows 7 et IDE Eclipse avec pydev.Python doctest erreur

Ma question est quand je cours le script ci-dessous je reçois l'erreur ci-dessous. Ledit script est en dessous du message d'erreur

Traceback (most recent call last): 
    File "C:\Users\shaytac\PythonProjects\test.py", line 21, in <module> 
    doctest.testmod() 
    File "C:\Python26\lib\doctest.py", line 1829, in testmod 
    for test in finder.find(m, name, globs=globs, extraglobs=extraglobs): 
    File "C:\Python26\lib\doctest.py", line 852, in find 
    self._find(tests, obj, name, module, source_lines, globs, {}) 
    File "C:\Python26\lib\doctest.py", line 906, in _find 
    globs, seen) 
    File "C:\Python26\lib\doctest.py", line 894, in _find 
    test = self._get_test(obj, name, module, globs, source_lines) 
    File "C:\Python26\lib\doctest.py", line 978, in _get_test 
    filename, lineno) 
    File "C:\Python26\lib\doctest.py", line 597, in get_doctest 
    return DocTest(self.get_examples(string, name), globs, 
    File "C:\Python26\lib\doctest.py", line 611, in get_examples 
    return [x for x in self.parse(string, name) 
    File "C:\Python26\lib\doctest.py", line 573, in parse 
    self._parse_example(m, name, lineno) 
    File "C:\Python26\lib\doctest.py", line 631, in _parse_example 
    self._check_prompt_blank(source_lines, indent, name, lineno) 
    File "C:\Python26\lib\doctest.py", line 718, in _check_prompt_blank 
    line[indent:indent+3], line)) 
ValueError: line 2 of the docstring for __main__.compare lacks blank after >>>: '>>>compare(5, 4) ' 

def compare(a, b): 
""" 
    >>>compare(5, 4) 
    1 
    >>>compare(7, 7) 
    0 
    >>>compare(2, 3) 
    -1 
    >>>compare(42, 1) 
    1 
""" 
if a > b : 
    return 1 
if a == b : 
    return 0 
if a < b : 
    return -1 

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

Répondre

3

vous shoud écrire:

>>> compare(5, 4) 

comme l'erreur dit: manquant vide avant compare