Python:预期有一个缩进块



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

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

不执行任何操作转换为使用 pass 关键字填充原本为空的块(这是不允许的)。有关详细信息,请参阅官方文档。

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
你需要

if块里放一些东西。 如果您不想做任何事情,请pass.

或者,只需扭转您的条件,这样您就只有一个块:

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

顺便说一句,我不认为你的代码会做你想要做的事情,但这是另一个问题的问题。

你不能这样做。

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

尝试:

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

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

    if condition:
        pass

通票信息:http://docs.python.org/release/2.5.2/ref/pass.html

最新更新