Pythonの条件分岐を使いこなそう!初心者でも業務効率化に役立つif文の基本

こんにちは、Pythonを学び始めた皆さん!今回は、プログラミングの基礎中の基礎、条件分岐について分かりやすく解説します。条件分岐は「もし〇〇なら××する」という判断をプログラムに組み込むための重要な概念です。これをマスターするだけで、あなたの業務自動化の可能性は格段に広がります!

なぜ条件分岐を学ぶべきなの?

日常業務では、「売上が目標を超えたら特別報告書を作成する」「在庫数が基準値以下なら発注する」など、条件に応じて異なる作業が必要になることがよくありますよね。条件分岐を使えば、このような判断をプログラムに自動で行わせることができます。

Pythonの条件分岐:基本のif文

Pythonでの条件分岐は、if, else, elifを使って表現します。

基本のif文

Python
age = 25

if age >= 20:
    print("成人です")

このコードは「もし年齢が20以上なら『成人です』と表示する」という意味です。ここでポイントとなるのが: (コロン)とインデント(行頭の空白)です。コロンの後の処理はインデントを下げて書きます。

if-else文:条件を満たさない場合の処理

Python
temperature = 35

if temperature >= 30:
    print("暑いですね")
else:
    print("快適な温度です")

このコードは「気温が30度以上なら『暑いですね』、そうでなければ『快適な温度です』と表示する」という意味です。

elif文:複数の条件を順番に評価

Python
score = 75

if score >= 90:
    print("優秀です!")
elif score >= 70:
    print("良好です")
elif score >= 60:
    print("合格です")
else:
    print("再挑戦しましょう")

elifは「else if」の略で、「前の条件を満たさなかった場合に、さらに別の条件を評価する」という意味です。上のコードでは、点数に応じて異なるメッセージを表示します。

業務効率化に活用できる条件分岐の例

例1:売上データの自動評価

Python
monthly_sales = 1200000  # 月間売上(円)
target = 1000000  # 目標額(円)

if monthly_sales >= target * 1.2:  # 目標の120%以上
    print("売上絶好調!特別ボーナス対象です")
    # ここでボーナス計算や報告書作成処理を追加できます
elif monthly_sales >= target:  # 目標達成
    print("目標達成おめでとうございます!")
    # 達成報告書の作成処理など
else:  # 目標未達
    shortfall = target - monthly_sales  # 不足額
    print(f"目標まであと{shortfall}円です。来月に期待しましょう。")
    # 改善策の自動提案などを追加できます

このコードは月間売上を目標と比較して、達成度に応じたメッセージを表示します。実際の業務では、これに加えて報告書の自動作成や関係者へのメール送信なども自動化できるでしょう。

例2:在庫管理の自動化

Python
inventory = {
    "A商品": 120,
    "B商品": 45,
    "C商品": 8,
    "D商品": 0
}

threshold = 10  # 発注基準数

for product, count in inventory.items():
    if count == 0:
        print(f"{product}は在庫切れです!緊急発注が必要です。")
    elif count < threshold:
        print(f"{product}の在庫が{count}個と少なくなっています。発注を検討してください。")
    elif count < threshold * 3:
        print(f"{product}の在庫は{count}個で十分あります。")
    else:
        print(f"{product}の在庫が{count}個と多すぎるかもしれません。セール検討?")

この例では、商品ごとの在庫数をチェックして、在庫状況に応じたメッセージを表示しています。実際の業務自動化では、これに自動発注メールの送信機能などを追加できるでしょう。

比較演算子と論理演算子:条件をより柔軟に

条件分岐をより柔軟に使うには、比較演算子と論理演算子を理解することが重要です。

主な比較演算子

  • == :等しい
  • != :等しくない
  • > :より大きい
  • < :より小さい
  • >= :以上
  • <= :以下

主な論理演算子

  • and :両方の条件が真
  • or :どちらかの条件が真
  • not :条件の否定

使用例:複合条件

Python
age = 25
membership = "ゴールド"

# andを使った例:両方の条件を満たす場合
if age >= 20 and membership == "ゴールド":
    print("成人のゴールド会員特典が適用されます")

# orを使った例:どちらかの条件を満たす場合
if age < 18 or membership == "プラチナ":
    print("特別割引が適用されます")

# notを使った例:条件を否定する
if not (age < 20):
    print("成人向けコンテンツにアクセスできます")

条件分岐のネスト(入れ子):より複雑な条件分岐

条件の中にさらに条件を入れることで、より複雑な判断ができます。

Python
weather = ""
wind_speed = 15  # m/s

if weather == "":
    print("傘を持っていきましょう")
    if wind_speed > 10:
        print("風が強いので折りたたみ傘は避けましょう")
    else:
        print("風は弱いので任意の傘でOKです")
else:
    if wind_speed > 15:
        print("風が非常に強いです。注意してください")
    else:
        print("良い天気です。お出かけ日和です")

三項演算子:簡潔な条件分岐

シンプルな条件分岐なら、三項演算子を使うとコードをより簡潔に書けます。

Python
age = 25
status = "成人" if age >= 20 else "未成年"
print(status)  # 成人と表示される

これは「もしage >= 20なら『成人』、そうでなければ『未成年』をstatusに代入する」という意味です。

条件分岐で陥りがちな注意点

インデントに注意

Pythonではインデントが構文の一部です。インデントがずれると、意図しない動作になります。

Python
# 正しいインデント
if score >= 80:
    print("優秀です")
    bonus = 5000
# 間違ったインデント
if score >= 80:
    print("優秀です")
bonus = 5000  # この行はif文の外になり、条件に関わらず実行される

条件式の書き間違いに注意

特に等値比較(==)と代入(=)を間違えやすいので注意しましょう。

Python
# 間違った例
if score = 100:  # エラーになる
    print("満点です")

# 正しい例
if score == 100:
    print("満点です")

まとめ:条件分岐で業務効率化の第一歩を

条件分岐は、プログラムに「判断」を組み込むための基本です。Pythonでは直感的に書けるため、初心者でも短期間でマスターできます。

条件分岐を活用することで:

  • 日々の単純作業を自動化できる
  • データに基づいた判断を迅速に行える
  • 例外的な状況にも柔軟に対応できる

ぜひ、自分の業務のどこに「もし〇〇なら××する」という判断があるか考えてみてください。そこにPythonの条件分岐を適用することで、より効率的な業務フローが実現できるでしょう。

次は、もっと多くのデータを効率的に処理するための「繰り返し処理(ループ)」について学んでいきましょう!

今日のポイント

  • if, else, elifを使って条件に応じた処理を書ける
  • 比較演算子(==, !=, >, <, >=, <=)と論理演算子(and, or, not)を組み合わせて複雑な条件を表現できる
  • インデントと構文の正確さが重要
  • 条件分岐は業務自動化の基本的かつ強力なツール

お疲れさまでした!質問やコメントがあれば、ぜひ下のコメント欄でシェアしてくださいね!

Leave a Comment

Your email address will not be published. Required fields are marked *