Pythonでの条件分岐: if、elif、elseを用いた制御構文

Pythonにおける条件分岐には、ifelifelseを用いた制御構文があります。これらの制御構文を使って、条件に応じた処理を実行することができます。これらの制御構文は、Pythonのプログラムで非常に頻繁に使用されます。例えば、条件分岐を使用してユーザーからの入力を処理し、プログラムの動作を変更することができます。また、制御構文を使用して、特定の条件が満たされるまでループすることもできます。

以上のように、条件分岐はPythonプログラムの重要な要素であり、正確かつ効果的な使用がプログラムの品質と実行時間に大きく影響します。下記に条件分岐利用法を紹介します。

条件分岐の書き方

Pythonにおける条件分岐は、ifelifelseという制御構文を用いて記述されます。以下は、条件分岐の基本的な書き方です。

if 条件式1:
    条件式1がTrueの場合に実行する処理
elif 条件式2:
    条件式1がFalseで、条件式2がTrueの場合に実行する処理
else:
    条件式1も条件式2もFalseの場合に実行する処理

ifに続いて、条件式を記述し、条件式がTrueの場合に実行する処理をインデント(字下げ)で表します。elifは、前のifFalseで、自身の条件式がTrueの場合に実行する処理を指定するために使用されます。複数のelifを用いて、順次評価し最初にTrueとなった条件式に対応する処理を実行することもできます。最後に、elseを用いて、どの条件式もFalseとなった場合に実行する処理を指定します。

Pythonでは、インデントが非常に重要な意味を持つため、処理をインデントするときは注意が必要です。インデントが正しく行われていない場合、エラーが発生することがあります。適切にインデントを行い、条件分岐を正確に記述することが重要です。

具体例とコード

例えば、ある年齢が与えられたときに、その年齢に応じたメッセージを出力するプログラムを考えてみましょう。以下のようにコードを書くことができます。

age = 20

if age < 20:
    print("未成年です")
elif age >= 20 and age < 65:
    print("成人です")
else:
    print("高齢者です")

この場合、変数ageに20を代入しています。ifの後には、age < 20という条件式を書いています。この条件式は、ageが20より小さい場合にTrueを返します。したがって、この場合は未成年ですというメッセージが出力されます。

elifには、age >= 20 and age < 65という条件式を書いています。この条件式は、ageが20以上かつ65未満の場合にTrueを返します。したがって、この場合は成人ですというメッセージが出力されます。

最後にelseを使用して、上記の条件式がどちらもFalseの場合に出力するメッセージを指定しています。上記のコードでは、ageが65以上の場合に高齢者ですというメッセージが出力されます。

エラーと対処法

条件分岐を行う際には、いくつかのエラーが発生する可能性があります。以下によく発生するエラーとその対処法をいくつか紹介します。

インデントエラー

Pythonでは、処理のブロックはインデントで区切られます。そのため、インデントに誤りがあるとSyntaxErrorが発生します。以下のように、インデントを誤って入力した場合には、SyntaxErrorが発生します。

if age < 20:
print("未成年です")

エラー

IndentationError: expected an indented block

対処法は、インデントの数を調整することです。Pythonでは4つのスペースを1つのインデントとして扱うのが一般的です。具体的には下記の様に修正します。

if age < 20:
    print("未成年です")

論理演算子の誤り

条件分岐で複数の条件を指定する場合、論理演算子(and、or)を使って条件式を結合することができます。しかし、論理演算子を誤った場合、エラーが発生します。以下のように、論理演算子を間違って入力した場合には、SyntaxErrorが発生します。

if age >= 20 & age < 65:
    print("成人です")

エラー

TypeError: unsupported operand type(s) for &: 'int' and 'int'

対処法は、正しい論理演算子を使用することです。ここでは、&ではなくandを使用します。

if age >= 20 and age < 65:
    print("成人です")

比較演算子の誤り

条件分岐で比較演算子(<、<=、>、>=、==、!=)を使用する際、間違った比較演算子を使用するとエラーが発生します。以下のように、比較演算子を間違って入力した場合には、SyntaxErrorが発生します。

if age = 20:
    print("成人です")

エラー

SyntaxError: invalid syntax

対処法は、正しい比較演算子を使用することです。ここでは、=ではなく==を使用します。

if age == 20:
    print("成人です")

まとめ

Pythonにおいて、条件分岐にはifelifelseの3つのキーワードを使用します。条件式には、真偽値を返す式を指定します。

プログラムには、条件分岐の記述に誤りがある場合があります。この場合、エラーが発生し、プログラムが正常に動作しなくなります。エラーが発生した場合には、正しいインデント、論理演算子、比較演算子を使用することで、プログラムを修正する必要があります。正しい条件分岐の書き方を理解し、注意深くコードを書くことが大切です。条件分岐はPythonの基本的な機能です。Pythonの基礎学習には下記のようなサイトの利用が有効です。

click.linksynergy.com

click.linksynergy.com