概要

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のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る
