エラー: Python で else & elif ステートメントが機能しない

Rohan Timalsina 2023年10月10日
エラー: Python で else & elif ステートメントが機能しない

Python では、else ステートメントを elif および if ステートメントと組み合わせることができます。 しかし、コード内で if...elif...else ステートメントを実行すると、Python で SyntaxError: 無効な構文 という名前のエラーが発生する場合があります。

主に、コードに間違ったインデントがある場合に発生します。 このチュートリアルでは、Python で SyntaxError: 無効な構文 を修正する方法を説明します。

Python の else & elif ステートメント SyntaxError を修正

インデントは、Python のコード行の先頭の空白 (スペースとタブ) です。 他のプログラミング言語とは異なり、Python ではインデントが非常に重要です。

Python はインデントを使用してコードのブロックを表します。 インデントが適切に行われていない場合、エラーが発生します。

elseelif ステートメントの例を見てみましょう。

コード例:

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 が返されます。 コードのインデントを修正することで修正できます。

著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - Python Error