IndentationError预期的缩进块
下面是代码:IndentationError预期的缩进块
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
这有什么错我的代码?
您混合了制表符和空格。这可能会导致一些令人困惑的错误。
我建议使用只有选项卡或只有压痕的空间。
只使用空格通常是更容易的选择。大多数编辑器都有自动将制表符转换为空格的选项。如果您的编辑器有此选项,请将其打开。
另外,您的代码比需要的更冗长。取而代之的是:
if str_p == str_q:
result = True
else:
result = False
return result
只是这样做:
return str_p == str_q
也似乎对这一行的错误:
str_q = p[b+1:]
我将离开你找出什么错误是。
您应该安装支持Python语法的编辑器(或IDE)。它可以突出显示源代码并进行基本格式检查。例如:Eric4,Spyder,Ninjia或Emacs,Vi。
我在windows中使用Pyscripter。因为我必须在Windows中做其他工作,尽管我真的很喜欢使用linux。 – Sam 2012-04-20 01:33:22
如果你使用的是一个mac和崇高的文本3,这就是你所做的。
转到您的/Packages/User/
并创建一个名为Python.sublime-settings
的文件。
如果您使用的是mac os x,通常/Packages/User
位于您的~/Library/Application Support/Sublime Text 3/Packages/User/Python.sublime-settings
之内。
然后你把这个放在Python.sublime-settings
。
{
"tab_size": 4,
"translate_tabs_to_spaces": false
}
幸得马克·拜尔的answer,sublime text 3 docs和python style guide。
这个答案主要是为读者谁有同样的问题和这跌跌Mac OS X上使用的是崇高的文本3
谢谢!有用! Python不支持这两种缩进。这听起来很奇怪。 – Sam 2012-04-20 00:49:17
它实际上支持8-space选项卡,但是坚持使用空格会更好,尤其是当您的代码在编辑器和系统之间移动时(您应该期待它。) – zigg 2012-04-20 00:56:04
对不起。我已将其更改为q [b + 1:]。你真的很乐意帮助我。 – Sam 2012-04-20 01:27:26