Python &引用;应为缩进块“;错误解释

Python &引用;应为缩进块“;错误解释,python,for-loop,image-processing,Python,For Loop,Image Processing,所以,是的,我知道有一个关于如何解决这个问题的答案,但有人能向我解释一下它到底意味着什么吗?因为我不知道它来自哪里,我也不知道缩进在编程中意味着什么(正如你所理解的,亲爱的读者,英语不是我的母语) 另外,我从我试图执行的for循环中发现了错误,代码与此类似: img = img.resize((basewidth,hsize), PIL.Image.ANTIALIAS) j='.jpg' s='somepic' p=img.save(s+'1'+j) for i in range(2,

所以,是的,我知道有一个关于如何解决这个问题的答案,但有人能向我解释一下它到底意味着什么吗?因为我不知道它来自哪里,我也不知道缩进在编程中意味着什么(正如你所理解的,亲爱的读者,英语不是我的母语)

另外,我从我试图执行的for循环中发现了错误,代码与此类似:

img = img.resize((basewidth,hsize), PIL.Image.ANTIALIAS)
j='.jpg'
s='somepic'
p=img.save(s+'1'+j)

   for i in range(2, 659):
    if i==21:
     i = i + 1
    elif i==36:
     i=i+1
    elif i==45:
     i = i + 1
    elif i==51:
     i = i + 1
    elif i==133:
     i = i + 1
    elif i==163:
     i = i + 1
    elif i==263:
     i = i + 1
    elif i==267:
     i = i + 1
    elif i==272:
     i = i + 1
    elif i==299:
     i = i + 1
    elif i==300:
     i = i + 1
    elif i==312:
     i = i + 1
    elif i==313:
     i = i + 1
    elif i==314:
     i = i + 1
    elif i==320:
     i = i + 1
    elif i==323:
     i = i + 1
    elif i==362:
     i = i + 1
   elif i==390:
     i = i + 1
   elif i==432:
     i = i + 1
   elif i==445:
     i = i + 1
   elif i==455:
     i = i + 1
   elif i==459:
     i = i + 1
   elif i==460:
     i = i + 1
   elif i==461:
     i = i + 1
   elif i==477:
     i = i + 1
   elif i==487:
     i = i + 1
   elif i==493:
     i = i + 1
   elif i==496:
     i = i + 1
   elif i==500:
     i = i + 1
   elif i==510:
     i = i + 1
   elif i==519:
     i = i + 1
   elif i==522:
     i = i + 1
   elif i==545:
     i = i + 1
   elif i==547:
     i = i + 1
   elif i==562:
     i = i + 1
   elif i==597:
     i = i + 1
   elif i==599:
     i = i + 1
   elif i==615:
     i = i + 1
   elif i==638:
     i = i + 1
   elif i==654:
     i=i+1
   else:
     p= img + "i".save(s+i+j)
     i=i+1
这意味着一个for循环、一个if语句、两个elif(或第一个if语句中的or),然后我用save和一个step-forward关闭if语句


编辑:上面的代码是我写的,在那之前是一堆图像输入。虽然我用你最后说的话修复了代码,但我有另一个错误,它说['str'对象没有属性'save',],但这是另一个时间的问题。

Python中的缩进是4个空格。我会对此发表评论,但我没有足够的声誉。这里有一个链接:

在python语法中,if语句、循环和函数后面必须紧跟缩进行。这只是python语法。你必须在每行前面加上4个空格或使用制表符来缩进它们。在许多其他脚本语言中,{}用于封装代码块。如果没有正确的缩进,python就不知道代码块何时结束。

i=2
是不必要的
如果[i=21]:
不是有效的python。在这种情况下,
elif i=36:
“缩进”意味着在每行的开头添加空白字符,Python在解析过程中使用它来确定结构(如if语句和for循环)的范围。@OP:You write“代码与此类似”。你为什么不给我们看看真正的代码,它给你带来了问题?“你必须放4个空格…”是错误的。根据,您应该为每一级缩进使用4个空格。不,缩进可以是任意数量的空格或制表符。4只是方便或常规的,由风格指南PEP-8推荐。