広告あり
[スポンサーリンク]

【Python】初心者でもわかる!条件分岐(if文、elif文、else文)の基本と実践例

Python

Pythonでプログラムの流れを制御する条件分岐は、身近な分岐をイメージすると理解しやすくなります。例えば「もし雨が降ったら傘を持つ」「それ以外は帽子をかぶる」といった日常的な判断をコードに落とし込む操作です。ここでは、Pythonにおける条件分岐の基本を、初心者にもわかりやすく解説していきます。章ごとに具体例を示しながら丁寧に解説していくので、一つずつステップアップしましょう!

[スポンサーリンク]
[スポンサーリンク]

条件分岐の基本:if文、elif文、else文

Pythonの条件分岐はif文から始まります。ifの後に続く条件がTrueであれば、そのブロック内の処理が実行されます。条件がFalseの場合は、続くelif(else ifの略)やelseでさらに分岐を記述できます。

temperature = 25

if temperature >= 30:
    print("今日は暑いです")
elif temperature >= 20:
    print("快適な気温です")
else:
    print("少し涼しいです")

# 「快適な気温です」が表示されます

この例では、変数temperatureの値に応じて3つのパターンを出力しています。インデント(字下げ)を一つずらすことで、条件と処理の対応が明確になります。

関係演算子で数値を比較する

Pythonの関係演算子は主に以下の6種類があります。関係演算子は値同士を比較して真偽(True/False)を返します。

演算子意味
==等しいa == b
!=等しくないa != b
<より小さいa < b
<=以下a <= b
>より大きいa > b
>=以上a >= b

これらを使うことで、「3は5より小さい」「10は10と等しい」といった条件をコードで表現できます。文字列同士の比較にも同様の演算子を使うことが可能です。

論理演算子で複数の条件を組み合わせる

関係演算子だけでは足りない場面に登場するのが論理演算子です。Pythonの論理演算子は、andornotの3つがあります。

  • and: 左右の両方がTrueならTrue
  • or : 左右どちらかがTrueならTrue
  • not: 真偽を反転させる
age = 18
has_ticket = True

if age >= 18 and has_ticket:
    print("入場できます")
else:
    print("入場できません")

# 「入場できます」が表示されます

この例では「年齢が18以上かつチケットを持っている」場合のみ入場できると判定します。複数条件を組み合わせると、より細かい制御が可能になります。

三項演算子(条件式)でシンプルに書く

PythonにはC言語風の三項演算子(条件) if 条件 else (偽の場合)も用意されています。一行で条件分岐の結果を変数に代入したいときに便利です。

score = 80
result = "合格" if score >= 60 else "不合格"
print(result)

# 「合格」が表示されます

このコードはscoreが60以上ならresult"合格"を、それ以外なら"不合格"を代入します。短く書ける反面、条件が複雑すぎると可読性が落ちるので注意してください。

ネスト(入れ子)した条件分岐と可読性の工夫

場合によっては、条件分岐をネスト(入れ子)する必要があります。しかし、深いネストは読みにくくなり可読性が下がるので注意しましょう。関数化や早期リターン(return)を使ってコードをシンプルに保つ工夫が大切です。

def assess(score, has_certificate):
    if score < 0 or score > 100:
        return "スコア不正"
    if score >= 80:
        return "優秀"
    if has_certificate:
        return "資格あり"
    return "一般"

print(assess(85, False))
# 「優秀」が表示されます

このように関数でひとまとめにして順序立てると、ブロックが浅くなりロジックが追いやすくなるのでおすすめです。

実践例:商品割引システム

最後に、これまでの知識を使った簡単な処理の例を見てみましょう。この処理は、商品価格と会員ステータスから割引価格を計算します。

def calculate_price(price, is_member):
    # 基本割引
    discount = 0.1 if is_member else 0.0
    # 追加割引
    if price > 10000:
        discount += 0.05
    # 割引後価格
    final_price = price * (1 - discount)
    return round(final_price, 2)

print(calculate_price(15000, True))  # 会員かつ高額購入

# 15%割引いた最終価格が表示されます

この例では、会員なら10%割引、1万円超えの高額購入なら5%割引を適用して最終価格を返しています。三項演算子とifの組み合わせでシンプルに書けていて可読性が高いです。

まとめ

Pythonの条件分岐は、プログラムに必須の制御構造です。関係演算子で基本的な比較を行い、論理演算子で複数条件を組み合わせ、三項演算子で短い条件代入を実現できます。
ネストが深くなりすぎないよう注意しつつ、関数化や早期リターンを活用して可読性を保ちましょう。

ぜひ実際に手を動かしてサンプルコードを試し、条件分岐の仕組みを自分のものにしてください!

[スポンサーリンク]

\ おすすめ書籍 /



この記事を書いた人
だんご丸

鉄鋼系SE歴 10年
金融系SE歴  6年
現在は音楽出版社のSE

●保有資格
初級システムアドミニストレータ
(現:ITパスポート)
基本情報技術者
応用情報技術者
情報セキュリティスペシャリスト
(現:情報処理安全確保支援士)
ネットワークスペシャリスト
情報セキュリティマネジメント
AWS認定クラウドプラクティショナー
AWS認定ソリューションアーキテクト - アソシエイト

だんご丸をフォローする
Python
[スポンサーリンク]
だんご丸をフォローする
[スポンサーリンク]
タイトルとURLをコピーしました