1. 条件分岐とは?
条件分岐とは、プログラムにおいて特定の条件が満たされるかどうかによって、異なる処理を実行する仕組みです。たとえば、「ユーザーの年齢が20歳以上ならば、‘成人です’と表示する」といったように、条件に応じて処理を分けることができます。
2. if文とelse文の基本構造
if文
if
文は、指定した条件が「真(True)」の場合に、ブロック内のコードを実行します。条件が「偽(False)」の場合は、そのブロックのコードは実行されません。
age = 20
if age >= 18:
print("あなたは成人です。")
else文
else
文は、if
文の条件が満たされなかったときに、代わりに実行されるコードを定義します。
age = 16
if age >= 18:
print("あなたは成人です。")
else:
print("あなたは未成年です。")
上の例では、年齢が18歳以上なら「あなたは成人です。」と表示され、それ以外なら「あなたは未成年です。」と表示されます。
図1:if文とelse文の基本構造
条件 | 処理 |
---|---|
条件が真(True) | if ブロックが実行 |
条件が偽(False) | else ブロックが実行 |
3. elif文(複数の条件分岐)
elif
文は、「他の条件も確認したい」という場合に使用します。if
文の後に追加することで、複数の条件を順に確認できます。
score = 75
if score >= 90:
print("評価:A")
elif score >= 70:
print("評価:B")
else:
print("評価:C")
上記のコードでは、score
の値が90以上なら「評価:A」、70以上なら「評価:B」、それ以外は「評価:C」が表示されます。
4. 条件式の書き方
条件分岐に使われる「条件式」は、比較演算子や論理演算子を使って作成します。よく使われる条件式を見ていきましょう。
4.1 比較演算子
演算子 | 説明 | 例 |
---|---|---|
== | 等しい | x == 10 |
!= | 等しくない | x != 10 |
> | 大きい | x > 10 |
< | 小さい | x < 10 |
>= | 以上 | x >= 10 |
<= | 以下 | x <= 10 |
4.2 論理演算子
演算子 | 説明 | 例 |
---|---|---|
and | 両方の条件が真の場合 | x > 10 and y < 20 |
or | どちらかが真の場合 | x > 10 or y < 20 |
not | 条件が偽の場合 | not x > 10 (xが10以下) |
5. 条件分岐の実例
次に、条件分岐を活用した例をいくつか見てみましょう。
5.1 年齢による条件分岐
age = 25
if age >= 20:
print("成人です。")
else:
print("未成年です。")
このコードでは、age
が20以上なら「成人です。」と表示され、それ以外なら「未成年です。」と表示されます。
5.2 成績評価の条件分岐
score = 85
if score >= 90:
print("評価:A")
elif score >= 80:
print("評価:B")
elif score >= 70:
print("評価:C")
else:
print("評価:D")
このコードでは、score
が異なる範囲に応じてAからDまでの評価が表示されます。
図2:上記コードの条件分岐フローチャート
+------------------+
| 条件1 (score >= 90) |
+--------+---------+
|
条件が真ならAを表示
|
+------------------+
| 条件2 (score >= 80) |
+--------+---------+
|
条件が真ならBを表示
|
+------------------+
| 条件3 (score >= 70) |
+--------+---------+
|
条件が真ならCを表示
|
条件が偽ならDを表示
このフローチャートでは、score
の値によって異なる評価が表示される流れを示しています。条件を順に評価し、どの条件に該当するかに応じて適切な評価が表示されます。
6. 応用:ネストされた条件分岐
条件分岐は、必要に応じて「ネスト(入れ子)」させることができます。ネストされた条件分岐は、条件の中にさらに条件がある場合に使用されます。
age = 22
has_permission = True
if age >= 18:
if has_permission:
print("入場できます。")
else:
print("許可が必要です。")
else:
print("入場できません。")
表1:条件分岐の構造のまとめ
文 | 説明 | 例 |
---|---|---|
if | 条件が真ならコードブロックを実行 | if age >= 18: print("成人です") |
else | if の条件が偽の場合にコードを実行 | else: print("未成年です") |
elif | 他の条件を追加し、順次確認する | elif score >= 70: print("評価:B") |
ネスト | 条件分岐の中にさらに条件を入れる | if age >= 18: if has_permission: |
まとめ
- 条件分岐 は、プログラムが条件に応じて異なる動作を行うための仕組みです。
if
文、elif
文、else
文を使うことで、柔軟な条件分岐が可能になります。- ネストされた条件分岐 を使うと、より複雑な判定ができるようになります。
条件分岐を理解することで、プログラムが特定の条件に基づいて異なる処理を行うように設計できるようになります。
次のステップ:ループ処理へ
次に学ぶ「ループ処理」では、特定の処理を繰り返し実行する方法を学びます。例えば、「0から10までの数字を順に表示する」「リストのすべての要素を順番に表示する」といったことが可能になります。ループ処理と条件分岐を組み合わせることで、より複雑で多機能なプログラムを作成できるようになりますので、ぜひ次の内容も学んでみてください!
コメント