我有一段简单的代码,我不知道我的错误来自哪里。在第5行(if语句)中,解析器正在向我发出意外缩进。有人在这看到问题吗?我没有。
def gen_fibs():
a, b = 0, 1
while True:
a, b = b, a + b
if len(str(a)) == 1000:
return a
答案 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)
检查每行前面的空格是否输入正确。您可能键入了制表符而不是空格 - 尝试删除所有空格并进行更改,以便仅使用制表符或仅使用空格。