コードは次のとおりです。
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
私のコードの何が問題になっていますか?
タブとスペースが混在しています。これにより、いくつかの紛らわしいエラーが発生する可能性があります。
インデントにはonlyタブまたはonlyスペースを使用することをお勧めします。
通常、スペースのみを使用する方が簡単です。ほとんどのエディターには、タブをスペースに自動的に変換するオプションがあります。エディターにこのオプションがある場合は、オンにします。
余談ですが、コードは必要以上に冗長です。これの代わりに:
if str_p == str_q:
result = True
else:
result = False
return result
これを行うだけです:
return str_p == str_q
また、この行にバグがあるようです。
str_q = p[b+1:]
エラーが何であるかを理解するためにあなたを任せます。
このエラーは、ステートメントが含まれていないブロックがある場合にも発生します
例えば:
def my_function():
for i in range(1,10):
def say_hello():
return "hello"
for
ブロックが空であることに注意してください。モジュール内の残りのコードをテストする場合は、 pass ステートメントを使用できます。
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
}
クレジットは、Mark Byerの answer 、 sublime text 3 docs および python style guide にあります。
この答えは、主に同じ問題があり、これにつまずき、Mac OS Xで崇高なテキスト3を使用している読者向けです。
Python構文をサポートするエディター(またはIDE)をインストールする必要があります。ソースコードを強調表示し、基本的な形式チェックを行うことができます。例:Eric4、Spyder、Ninjia、Emacs、Vi.