IndentationError预期的缩进块(IndentationError expected a

2019-06-23 18:54发布

下面是代码:

def myfirst_yoursecond(p,q):

a = p.find(" ")
b = q.find(" ")
str_p = p[0:a]
str_q = p[b+1:]

if str_p == str_q:
    result = True
else:
    result = False
return result

以下是错误:

Traceback (most recent call last):
File "vm_main.py", line 26, in <module>
import main
File "/tmp/vmuser_ssgopfskde/main.py", line 22
result = False
^
IndentationError: expected an indented block

这有什么错我的代码?

Answer 1:

您已经混合制表符和空格。 这可能会导致一些容易混淆的错误。

我建议使用标签或缩进空间。

仅使用空间一般是比较容易的选择。 大多数编辑有标签自动转换为空间的选项。 如果您的编辑器有这个选项,打开它。


顺便说一句,你的代码是更详细的比它需要。 取而代之的是:

if str_p == str_q:
    result = True
else:
    result = False
return result

只是这样做:

return str_p == str_q

您也似乎对这一行的错误:

str_q = p[b+1:]

我将离开你要弄清楚是什么错误。



Answer 2:

如果你有一个不带语句块也会出现此错误

例如:

def my_function():
    for i in range(1,10):


def say_hello():
    return "hello"

请注意, for块是空的。 您可以使用通 ,如果你要测试的模块中剩余的代码语句。



Answer 3:

如果您使用的是Mac和崇高的文本3,这是你做了什么。

去你的/Packages/User/并创建一个名为Python.sublime-settings

通常/Packages/User是你的内部~/Library/Application Support/Sublime Text 3/Packages/User/Python.sublime-settings ,如果你使用的是Mac OS X的。

然后你把这个在Python.sublime-settings

{
    "tab_size": 4,
    "translate_tabs_to_spaces": false
}

幸得马克·拜尔的答案 , 崇高的文本文档3和蟒蛇风格指南 。

这个答案主要是为读者谁有同样的问题和这跌跌Mac OS X上使用的是崇高的文本3



Answer 4:

我得到了同样的错误,这就是我所做的,以解决这一问题。

压痕之前:

压痕错误:预期的缩进块。

压痕后:

做工精细。 之后TAB空间。



Answer 5:

您应该安装支持Python语法一个编辑器(或IDE)。 它可以突出显示源代码,并进行基本格式检查。 例如:Eric4,Spyder的,NINJIA,或Emacs,VI。



文章来源: IndentationError expected an indented block