Python:期望缩进块

时间:2014-02-13 20:36:07

标签: python if-statement indentation

我认为所有内容都在这里缩进,但我在 else:语句中得到 IndentationError:预期缩进块。我在这里犯了一个明显的错误吗?

def anti_vowel(text):
    new_string = ""
    vowels = "aeiou"
    for letter in text:
       for vowel in vowels:
           if (lower(letter) == vowel):
               #do nothing
           else:
               #append letter to the new string
               new_string += letter
    return new_string

4 个答案:

答案 0 :(得分:7)

您需要在if块内放置一些内容。如果您不想做任何事情,请添加pass

或者,只需改变您的条件,这样您就只有一个区块:

if lower(letter) != vowel:
    new_string += letter

顺便说一下,我认为你的代码不会按照你的意图去做,但这是另一个问题的问题。

答案 1 :(得分:5)

不执行任何操作转换为使用pass关键字填充否则为空的块(不允许)。有关详细信息,请参阅official documentation

def anti_vowel(text):
    new_string = ""
    vowels = "aeiou"
    for letter in text:
       for vowel in vowels:
           if (lower(letter) == vowel):
               #do nothing
               pass
           else:
               #append letter to the new string
               new_string += letter
    return new_string

答案 2 :(得分:0)

你不能这样做。

if (lower(letter) == vowel):
    #do nothing

尝试:

if (lower(letter) == vowel):
    #do nothing
    pass

答案 3 :(得分:-1)

这可能是由混合标签和空格引起的。但是,这可能是由于if语句中没有任何内容造成的。您可以使用“pass”作为占位符(请参阅下面的示例)。

    if condition:
        pass

传递信息:http://docs.python.org/release/2.5.2/ref/pass.html