Python中出现意外缩进错误

时间:2010-11-24 04:35:36

标签: python

我有一段简单的代码,我不知道我的错误来自哪里。在第5行(if语句)中,解析器正在向我发出意外缩进。有人在这看到问题吗?我没有。

def gen_fibs():
    a, b = 0, 1
    while True:
        a, b = b, a + b
        if len(str(a)) == 1000:
            return a

5 个答案:

答案 0 :(得分:12)

如果您只是复制+粘贴代码,那么您在if语句的行上使用了一个标签。 Python将选项卡解释为8个空格而不是4.不要使用带有python 1 的选项卡:)

1或者至少不要使用标签和空格混合。建议使用4个空格与python宇宙的其余部分保持一致。

答案 1 :(得分:4)

你正在混合制表符和空格。为了缩进,标签总是被认为与8个空格相同。使用python -tt运行脚本进行验证。

答案 2 :(得分:1)

检查您是否没有将标签与空格或其他内容混合,因为您的代码逐字粘贴不会产生任何错误。

答案 3 :(得分:1)

带有a, b = b, a + b的行缩进8个空格,if行缩进4个空格和一个制表符。将编辑器配置为永远不会插入标签。

(Python将选项卡视为8个空格,但不使用它们更容易)

答案 4 :(得分:-1)

检查每行前面的空格是否输入正确。您可能键入了制表符而不是空格 - 尝试删除所有空格并进行更改,以便仅使用制表符或仅使用空格。