HOWTO · Python
エラー: Python で else & elif ステートメントが機能しない
このチュートリアルでは、Python の else & elif 構文エラーを修正する方法を説明します。
Python では、else ステートメントを elif および if ステートメントと組み合わせることができます。 しかし、コード内で if...elif...else ステートメントを実行すると、Python で SyntaxError: 無効な構文 という名前のエラーが発生する場合があります。
主に、コードに間違ったインデントがある場合に発生します。 このチュートリアルでは、Python で SyntaxError: 無効な構文 を修正する方法を説明します。
Python の else & elif ステートメント SyntaxError を修正
インデントは、Python のコード行の先頭の空白 (スペースとタブ) です。 他のプログラミング言語とは異なり、Python ではインデントが非常に重要です。
Python はインデントを使用してコードのブロックを表します。 インデントが適切に行われていない場合、エラーが発生します。
else と elif ステートメントの例を見てみましょう。
コード例:
num = 25
guess = int(input("Guess the number:"))
if guess == num:
print("correct")
elif guess < num:
print("The number is greater.")
else:
print("The number is smaller.")
エラー出力:
File "c:\Users\rhntm\myscript.py", line 5
elif guess < num:
^^^^
SyntaxError: invalid syntax
上記の例では、5 行目のインデントが正しく行われていないため、例外 SyntaxError が発生します。if コード ブロックの後に else コード ブロックを使用する必要があります。
以下に示すように、elif ステートメントは if ステートメントと一致している必要があります。
コード例:
num = 25
guess = int(input("Guess the number:"))
if guess == num:
print("correct")
elif guess < num:
print("The number is greater.")
else:
print("The number is smaller.")
出力:
Guess the number:20
The number is greater.
これで、コードが正常に実行されます。
Python では、ステートメントのコード ブロックを構造化するためにインデントが不可欠です。 ステートメントのグループ内のスペースの数は、コードのブロックを示すために等しくなければなりません。
デフォルトのインデントは、Python では 4つのスペースです。 それはあなた次第ですが、少なくとも 1つのスペースを使用する必要があります。
コードに間違ったインデントがある場合、Python では IndentationError が返されます。 コードのインデントを修正することで修正できます。