意外缩进-Python def

意外缩进-Python def,python,python-2.7,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: r

你能帮我吗

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

我怎样才能解决这个问题?谢谢

您的代码缩进太多,请删除额外的空间以匹配
累加器=[]
的缩进

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

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

错误不也显示行号吗?它应该给你一个从哪里开始的提示。(其位于4-7号线btw上)


如果len(acculator)=n:以及更多,则
之后没有缩进。您的格式设置完全错误。没有理由在
acculator=[]
+1之后缩进代码以抵消向下的投票。这是一个简单的问题,但不是一个坏问题。OP是一个python新手,没错all@gefei:缩进是Python的核心,也是您在教程中学习的第一件事。错误消息指出缩进错误的位置。这个问题显示出研究工作的严重缺乏。
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.