こんにちは、Pythonを学び始めた皆さん!今回は、プログラミングの基礎中の基礎、条件分岐について分かりやすく解説します。条件分岐は「もし〇〇なら××する」という判断をプログラムに組み込むための重要な概念です。これをマスターするだけで、あなたの業務自動化の可能性は格段に広がります!
なぜ条件分岐を学ぶべきなの?
日常業務では、「売上が目標を超えたら特別報告書を作成する」「在庫数が基準値以下なら発注する」など、条件に応じて異なる作業が必要になることがよくありますよね。条件分岐を使えば、このような判断をプログラムに自動で行わせることができます。
Pythonの条件分岐:基本のif文
Pythonでの条件分岐は、if
, else
, elif
を使って表現します。
基本のif文
age = 25
if age >= 20:
print("成人です")
このコードは「もし年齢が20以上なら『成人です』と表示する」という意味です。ここでポイントとなるのが:
(コロン)とインデント(行頭の空白)です。コロンの後の処理はインデントを下げて書きます。
if-else文:条件を満たさない場合の処理
temperature = 35
if temperature >= 30:
print("暑いですね")
else:
print("快適な温度です")
このコードは「気温が30度以上なら『暑いですね』、そうでなければ『快適な温度です』と表示する」という意味です。
elif文:複数の条件を順番に評価
score = 75
if score >= 90:
print("優秀です!")
elif score >= 70:
print("良好です")
elif score >= 60:
print("合格です")
else:
print("再挑戦しましょう")
elif
は「else if」の略で、「前の条件を満たさなかった場合に、さらに別の条件を評価する」という意味です。上のコードでは、点数に応じて異なるメッセージを表示します。
業務効率化に活用できる条件分岐の例
例1:売上データの自動評価
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:在庫管理の自動化
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
:条件の否定
使用例:複合条件
age = 25
membership = "ゴールド"
# andを使った例:両方の条件を満たす場合
if age >= 20 and membership == "ゴールド":
print("成人のゴールド会員特典が適用されます")
# orを使った例:どちらかの条件を満たす場合
if age < 18 or membership == "プラチナ":
print("特別割引が適用されます")
# notを使った例:条件を否定する
if not (age < 20):
print("成人向けコンテンツにアクセスできます")
条件分岐のネスト(入れ子):より複雑な条件分岐
条件の中にさらに条件を入れることで、より複雑な判断ができます。
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("良い天気です。お出かけ日和です")
三項演算子:簡潔な条件分岐
シンプルな条件分岐なら、三項演算子を使うとコードをより簡潔に書けます。
age = 25
status = "成人" if age >= 20 else "未成年"
print(status) # 成人と表示される
これは「もしage >= 20なら『成人』、そうでなければ『未成年』をstatusに代入する」という意味です。
条件分岐で陥りがちな注意点
インデントに注意
Pythonではインデントが構文の一部です。インデントがずれると、意図しない動作になります。
# 正しいインデント
if score >= 80:
print("優秀です")
bonus = 5000
# 間違ったインデント
if score >= 80:
print("優秀です")
bonus = 5000 # この行はif文の外になり、条件に関わらず実行される
条件式の書き間違いに注意
特に等値比較(==
)と代入(=
)を間違えやすいので注意しましょう。
# 間違った例
if score = 100: # エラーになる
print("満点です")
# 正しい例
if score == 100:
print("満点です")
まとめ:条件分岐で業務効率化の第一歩を
条件分岐は、プログラムに「判断」を組み込むための基本です。Pythonでは直感的に書けるため、初心者でも短期間でマスターできます。
条件分岐を活用することで:
- 日々の単純作業を自動化できる
- データに基づいた判断を迅速に行える
- 例外的な状況にも柔軟に対応できる
ぜひ、自分の業務のどこに「もし〇〇なら××する」という判断があるか考えてみてください。そこにPythonの条件分岐を適用することで、より効率的な業務フローが実現できるでしょう。
次は、もっと多くのデータを効率的に処理するための「繰り返し処理(ループ)」について学んでいきましょう!
今日のポイント
- if, else, elifを使って条件に応じた処理を書ける
- 比較演算子(==, !=, >, <, >=, <=)と論理演算子(and, or, not)を組み合わせて複雑な条件を表現できる
- インデントと構文の正確さが重要
- 条件分岐は業務自動化の基本的かつ強力なツール
お疲れさまでした!質問やコメントがあれば、ぜひ下のコメント欄でシェアしてくださいね!