"预期缩进块"错误解释

时间:2016-08-01 20:49:04

标签: python for-loop image-processing

所以是的,我知道有一个答案可以解决这个问题,但有人可以向我解释这到底是什么意思吗?因为我不知道它来自何处而且我也不知道什么缩进意味着编程(因为你可以理解亲爱的读者英语不是我的母语)。

P.S我发现来自for-loop的错误我试图执行,代码与此类似:

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),然后我用一个保存和一个前进来关闭我的if语句。

编辑:所以上面的代码是我写的,之前是一堆图像输入。但是虽然我设法用最后你说的来修复代码,但我还有另一个错误,即[' STR'对象没有属性' save']但这是另一个问题。

2 个答案:

答案 0 :(得分:0)

在python语法中,if语句,循环和函数必须后跟缩进行。它只是python语法。您必须在每行之前放置4个空格或使用制表符来缩进它们。在许多其他脚本语言中,{}用于包含代码块。没有正确的缩进,python不知道代码块何时结束。

答案 1 :(得分:-1)

Python中的缩进是4个空格。会评论这个,但我没有足够的声誉。这是一个链接:Python: using 4 spaces for indention. Why?