【 Python 基礎 】 第3回 条件分岐 if文 if ~ elif ~ else文

目次

条件分岐 の基本構文

前章で記述してきたコードは、コード中の行が、1文ずつ順序よく処理されるものでした。この章で学ぶ 条件分岐 は、さらに複雑な処理をしたい場合に処理をコントロールする手法の一つです。

TrueとFalseによる条件判定

Pythonでさまざまな状況を表すためには、条件という概念を用います。設定した条件はTrue(正しい)、もしくはFalse(正しくない)のどちらかで判定されます。それでは早速サンプルコードを見てみましょう。

age = 26

if age >= 20:
    print("大人")
else:
    print("子供")

このような文を条件判断文と言います。ここで記述されているのは、条件判断文の中の「if文」と呼ばれるものです。if文は、条件がTrueの場合に、「:」(コロン)の次の行から続く字下げされた部分を順に処理する構文です。

今回ifブロックにはprint関数によって文字列の「大人」が出力される処理が記述されています。

この字下げはインデントと呼ばれ、通常、空白4文字分下げることになっています。4字でなくても動作しますが、順に実行される行は必ず、字下げした最初の行と先頭をそろえて字下げをする必要があります。

それではまず、age >= 20 の部分に着目してみましょう。1行目で定義された変数ageには、int型の26が入っています。26 >= 20 を判定すると、結果はTrue(正しい)となります。結果としてvscodeのターミナルには「大人」と出力がされます。

Python 条件分岐 の結果_大人

「:」(コロン)とインデントの記述し忘れに注意!

age = 8

if age >= 20:
    print("大人")
else:
    print("子供")

次に、age = 8 だった場合にはどうなるでしょうか。 age >= 20 という条件式がFalse(正しくない)となり、elseブロックへ処理がスキップします。そのため、vscodeのターミナルには「子供」と出力がされます。

Python 条件分岐 の結果_子供

条件分岐 で用いられるさまざまな比較演算子

先ほどのコードで使用した「>=」などの記号は比較演算子と呼ばれ、他にも多くの種類が存在します。それぞれの比較演算子を用いてコードを書いてみましょう。

・ ==

右辺が左辺に等しかったらTrue

・ !=

右辺が左辺に等しくなかったらTrue

・ >

右辺より左辺が大きかったらTrue

・ >=

右辺より左辺が大きいか等しかったらTrue

・ <

右辺より左辺が小さかったらTrue

・ <=

右辺より左辺が小さいか等しかったらTrue

・ in

右辺に左辺が存在していればTrue

・ not in

右辺に左辺が存在しなければTrue

・ is

右辺が左辺と同一である

・ is not

右辺が左辺と同一でない

if ~ elif ~ else 構文

ifブロックとelseブロックを用いた構文を紹介しましたが、2つ以上の条件を判断させて処理するバリエーションを作ることも可能です。これを、if ~ elif ~ else 構文と呼びます。実際のコードを見てみましょう。

month = 7

if month == 12 or 1 <= month <= 2:
    print("冬")
elif 3 <= month <= 5:
    print("春")
elif 6 <= month <= 8:
    print("夏")
elif 9 <= month <= 11:
    print("秋")
else:
    print("判定不可")

上記は、int型の変数monthに格納された7を判定する条件分岐のコードです。条件判定は一番上のifブロックから行われます。

ifブロックでは、month == 12 or 1 <= month <= 2 (monthの値が12もしくは1以上2以下ならばTrue)という判定を行います。今回monthの値は7なのでFalseです。

一つ下のelifブロックでは、3 <= month <= 5 (monthの値が3以上5以下ならばTrue)という判定を行うためFalse。

次のelifブロックでは、6 <= month <= 8 (monthの値が6以上8以下ならばTrue)という判定を行うため、ここでTrueとなり、「夏」が結果として出力されます。

Python 条件分岐 の結果_夏

条件分岐 のブロックは上から順に判断され、Falseならひとつ下のブロックへ下がっていくポイントに注意!

Pythonのプログラムを記述するうえで、条件分岐は非常に重要な構文です。ぜひマスターしましょう。

(Visited 146 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITを無料で学べる職業訓練校です。
これまでに多くの方が、未経験からIT業界デビュー!

それぞれのキャリアパスに合わせて
自分好みのコースを選択可能でき、
就職へのサポート体制も充実しています。
「未経験からIT業界を目指したい」という方は、
是非お問い合わせください。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次