概要

Pythonプログラミングにおける条件分岐の基本「if文」の習得を目的とした解説書です。最もシンプルなifから、条件に合わない場合を処理するelse、さらに複数の条件で分岐させるelifまでを、具体的なコード例を交えて段階的に説明します。
比較演算子(==, >など)や論理演算子(and, or)を使い、より複雑な条件式を組み立てる方法も網羅。各構文の処理の流れをMermaid形式のフローチャートで視覚的に示すことで、初心者でもロジックを直感的に掴めるよう工夫しています。
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る
目次
はじめに
プログラミングの世界へようこそ!これまでの学習で、変数を使ってデータを入れたり、計算させたりすることができるようになりましたね。今回は、プログラムをさらに賢く、そして柔軟にするための魔法、「if文」について学びます。
if
文は、ひと言でいうと「もし○○だったら、△△する」という、条件による処理の分岐を行うための命令です。私たちの日常生活でも、「もし明日晴れたら、ピクニックに行こう」「もしお腹が空いたら、ご飯を食べよう」といったように、無意識に条件分岐を使っています。プログラムにこの考え方を教えるのがif
文の役割です。
基本の「if」:もし〜だったら
まずは最もシンプルなif
文の形から見ていきましょう。これは、特定の条件が満たされた(True といいます)ときだけ、決まった処理を実行するものです。
構文
if 条件式: # 条件式がTrueのときに実行される処理 # この部分はインデント(字下げ)する
重要なポイントが2つあります。
- コロン(
:
):if 条件式
の最後には、必ずコロンを付けます。これは「ここから条件が満たされたときの処理が始まりますよ」という合図です。 - インデント: コロンの次の行から書く処理は、必ず半角スペース4つ(またはタブ1つ)でインデント(字下げ)します。このインデントされた部分が、
if
文のブロック(かたまり)として認識されます。インデントを忘れるとエラーになるので注意しましょう。
具体例:年齢チェック
例えば、特定の年齢以上であれば「大人です」と表示するプログラムを書いてみましょう。
age = 20 if age >= 18: print("あなたは大人です。") print("プログラムを終了します。")
このコードを実行すると、変数age
は20なので、age >= 18
(ageは18以上)という条件式が満たされ(Trueになり)、「あなたは大人です。」と表示されます。最後のprint("プログラムを終了します。")
はインデントされていないため、if
文の条件に関わらず必ず実行されます。
もしage
を15にしてみると、age >= 18
が満たされない(False になる)ため、インデントされたprint("あなたは大人です。")
は実行されず、何も表示されないまま「プログラムを終了します。」だけが表示されます。
この流れを図にすると、以下のようになります。
graph TD; A[プログラム開始] --> B{"age >= 18 ?"}; B -- True --> C["あなたは大人です。"と表示]; B -- False --> D[プログラム終了]; C --> D;
「else」:〜ではなかったら
「もし晴れたらピクニックに行く」だけだと、雨が降ったときにどうするか分かりませんよね。そこで登場するのがelse
です。「もし〜ではなかったら、こちらを実行する」という処理を追加できます。
構文
if 条件式: # 条件式がTrueのときに実行される処理 else: # 条件式がFalseのときに実行される処理
else
の後にもコロン(:
)を忘れずに付け、その後の処理はインデントします。
具体例:偶数か奇数か
与えられた数字が偶数か奇数かを判定するプログラムは、else
を使うと簡単に書けます。数字を2で割った余りが0なら偶数、そうでなければ奇数です。
number = 7 # % は割り算の余りを求める演算子 if number % 2 == 0: print(f"{number}は偶数です。") else: print(f"{number}は奇数です。")
このコードでは、number
は7なのでnumber % 2 == 0
という条件は満たされません(False)。そのため、else
ブロックの中の処理が実行され、「7は奇数です。」と表示されます。
このif-else
文の流れは以下のようになります。
graph TD; A[プログラム開始] --> B{"number % 2 == 0 ?"}; B -- True --> C[偶数ですと表示]; B -- False --> D[奇数ですと表示]; C --> E[プログラム終了]; D --> E;
「elif」:さらに別の条件で分けたい
条件が「Aか、Aでないか」の2択だけではない場合も多くあります。「もしAなら処理1、そうではなくてもしBなら処理2、どちらでもなければ処理3」のように、複数の条件で処理を分けたいときに使うのがelif
です。elif
は "else if" の略です。
構文
if 条件式1: # 条件式1がTrueのときの処理 elif 条件式2: # 条件式1がFalseで、条件式2がTrueのときの処理 else: # すべての条件式がFalseのときの処理
elif
はいくつでも追加できます。プログラムは上から順番に条件式をチェックし、最初にTrueになったブロックだけを実行して、残りのelif
やelse
は無視します。
具体例:成績評価
点数に応じて成績を「優」「良」「可」「不可」で評価するプログラムを作ってみましょう。
score = 85 if score >= 90: print("評価:優") elif score >= 80: print("評価:良") elif score >= 60: print("評価:可") else: print("評価:不可")
このコードでは、score
は85です。
- 最初の
if score >= 90
はFalseです。 - 次の
elif score >= 80
はTrueです。 - ここで「評価:良」と表示され、
if
文全体の処理は終了します。 - その後の
elif score >= 60
やelse
は、たとえ条件を満たしていてもチェックされません。
この流れを図で見てみましょう。
graph TD; A[プログラム開始] --> B{"score >= 90 ?"}; B -- True --> C["評価:優"]; B -- False --> D{"score >= 80 ?"}; D -- True --> E["評価:良"]; D -- False --> F{"score >= 60 ?"}; F -- True --> G["評価:可"]; F -- False --> H["評価:不可"]; C --> I[プログラム終了]; E --> I; G --> I; H --> I;
if
文を使いこなすための演算子
if
文の「条件式」では、様々な演算子を使って複雑な条件を作ることができます。
比較演算子
2つの値を比較するための演算子です。
演算子 | 意味 | 例 |
== | 等しい | a == b |
!= | 等しくない | a != b |
< | より小さい | a < b |
> | より大きい | a > b |
<= | 以下 | a <= b |
>= | 以上 | a >= b |
※ =
が1つだと「代入」の意味になるので、比較の際は必ず==
と2つ書くように注意してください。
論理演算子
複数の条件を組み合わせるために使います。
and
(かつ)条件A and 条件B
のように使い、AとBの両方がTrueのときだけ全体がTrueになります。Pythonage = 25 is_student = True # 20歳以上で、かつ、学生であるか? if age >= 20 and is_student: print("学割が使える20歳以上の方です。")
or
(または)条件A or 条件B
のように使い、AとBのどちらか一方でもTrueであれば全体がTrueになります。

```python day = "Sunday" # 日曜日または土曜日か? if day == "Sunday" or day == "Saturday": print("今日は週末です!") ```
not
(ではない)not 条件A
のように使い、条件AのTrue/Falseを反転させます。Pythonis_raining = False # 雨が降っていないか? if not is_raining: print("傘は必要ありません。")
まとめ
今回は、プログラムに「判断力」を与えるif
文について学びました。
if
: 基本の条件分岐。「もし〜なら」else
:if
の条件に当てはまらなかった場合の処理。「そうでなければ」elif
: 複数の条件で分岐したいときの追加の条件。「そうではなく、もし〜なら」
これらのif
, elif
, else
を比較演算子や論理演算子と組み合わせることで、非常に複雑で賢いプログラムを作ることができます。if
文はプログラミングの根幹をなす非常に重要な機能です。色々な条件を自分で考えてコードを書き、その動作を確かめながら、ぜひマスターしてくださいね!🚀
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る