意外的缩进 - Python def

时间:2012-11-07 16:17:47

标签: python python-2.7

你可以帮我解决这个问题吗?

def group_iter (iterator, n=2, strict=False):

    accumulator = []
        accumulator.append(item)
        if len(accumulator) == n: 
        yield tuple(accumulator)
        accumulator = []

    if strict and len(accumulator) !=0:
        raise ValuseError("Leftover values")


print "This is count %r " % group_iter 

当我运行它时,我得到:

accumulator.append (item)
IndentationError: unexpected indent

我该如何解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:0)

您已将代码缩进太远,删除了额外的空格以匹配accumulator = []的缩进。

def group_iter (iterator, n=2, strict=False):
    accumulator = []
    accumulator.append(item)
    if len(accumulator) == n: 
        yield tuple(accumulator)
        accumulator = []

你可能想查看你的python教程,了解何时缩进python代码,何时不要。

答案 1 :(得分:0)

错误是否也显示行号?它应该给你一个从哪里开始的提示。 (它的第4-7行)

accumulator.append(item) # remove indent
if len(accumulator) == n: # remove indent
    yield tuple(accumulator) # keep indent
accumulator = [] # uncertain whether to keep or remove this base on your needs.
相关问题