サザエさん一家で学ぶif文(条件分岐)の使い方|初心者向け完全ガイド

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

プログラミングを学び始めたばかりの方にとって、条件分岐(if文)は最初の壁となることがあります。しかし、日常生活の「もし〜なら」という考え方と同じなので、実は身近な概念なのです。

この記事では、国民的アニメ「サザエさん」の磯野家を舞台に、Pythonの条件分岐を楽しく学んでいきましょう。サザエさん一家の日常を例にすることで、プログラミング初心者でもスムーズに理解できるはずです。

条件分岐(if文)とは?

条件分岐とは、「もし〜だったら、○○する」という処理をプログラムで実現する仕組みです。日常生活でも私たちは常に条件分岐を行っています。

例えば:

  • 「もし雨が降っていたら、傘を持って出かける」
  • 「もし時間があったら、買い物に行く」
  • 「もしお腹が空いていたら、何か食べる」

プログラミングでも、この「もし〜なら」を使って、状況に応じた処理を実行します。

基本的なif文の構文

Pythonでのif文の基本構文は以下の通りです。

if 条件式:
    条件が真(True)の時に実行される処理

重要なポイントは:

  1. 条件式の後ろにコロン(:)を付ける
  2. 実行する処理はインデント(字下げ)する
  3. インデントは通常スペース4つ

サザエさんで学ぶif文の基本

それでは、サザエさん一家を例に、実際のコードを見ていきましょう。

例1:波平さんの髪の毛チェック

波平さんには有名な1本の髪の毛があります。この髪の毛の本数で判定してみましょう。

# 波平さんの髪の毛の本数
namihei_hair = 1

if namihei_hair == 1:
    print("波平さんの髪の毛は1本です!")

実行結果:

波平さんの髪の毛は1本です!

このコードでは、namihei_hairが1と等しいかを==演算子で判定しています。条件が真(True)なので、printが実行されます。

例2:サザエさんの買い物

サザエさんが買い物に行く条件を考えてみましょう。

# サザエさんの財布の中身(円)
sazae_money = 3000

if sazae_money >= 2000:
    print("サザエさん、買い物に行けます!")

実行結果:


サザエさん、買い物に行けます!

>=演算子で「以上」を表現しています。2000円以上あれば買い物に行けるという条件です。

if-else文:2つの選択肢

条件が真の場合と偽の場合で、それぞれ異なる処理を実行したい時は、elseを使います。

例3:カツオの点数判定

カツオのテストの点数で、お小遣いをもらえるか判定します。

# カツオのテストの点数
katsuo_score = 65

if katsuo_score >= 70:
    print("カツオ、よく頑張ったね!お小遣いあげるよ。")
else:
    print("カツオ、もうちょっと頑張りなさい!")

実行結果:


カツオ、もうちょっと頑張りなさい!

70点未満なので、elseの部分が実行されます。

例4:ワカメの習い事

ワカメが習い事に行けるかどうかを判定します。

# 今日の曜日(1:月曜、2:火曜、...、7:日曜)
today = 3

if today == 3:
    print("ワカメ、今日はピアノの日よ!")
else:
    print("ワカメ、今日はピアノはお休みね。")

実行結果:

ワカメ、今日はピアノの日よ!

if-elif-else文:複数の条件分岐

3つ以上の選択肢がある場合は、elif(else ifの略)を使います。

例5:タラちゃんの行動パターン

タラちゃんの気分によって行動が変わります。

# タラちゃんの気分(1:元気、2:普通、3:眠い)
tara_mood = 1

if tara_mood == 1:
    print("タラちゃん、公園で遊ぶです〜!")
elif tara_mood == 2:
    print("タラちゃん、お家で遊ぶです〜!")
else:
    print("タラちゃん、お昼寝するです〜!")

実行結果:


タラちゃん、公園で遊ぶです〜!

条件は上から順番にチェックされ、最初に真になった条件の処理だけが実行されます。

例6:マスオさんの残業判定

マスオさんの退社時間を判定します。

# マスオさんの退社時刻(24時間表記)
masuo_leave_time = 21

if masuo_leave_time <= 18:
    print("マスオさん、定時で帰宅です!")
elif masuo_leave_time <= 20:
    print("マスオさん、ちょっと残業ですね。")
else:
    print("マスオさん、今日は遅くなりそうです...")

実行結果:

マスオさん、今日は遅くなりそうです...

比較演算子の種類

条件式で使える比較演算子をサザエさん一家の例で見てみましょう。

# 磯野家の家族の年齢
sazae_age = 24
katsuo_age = 11
wakame_age = 9
tara_age = 3

# 等しい(==)
if sazae_age == 24:
    print("サザエさんは24歳です")

# 等しくない(!=)
if katsuo_age != wakame_age:
    print("カツオとワカメは年齢が違います")

# より大きい(>)
if katsuo_age > wakame_age:
    print("カツオはワカメより年上です")

# 以上(>=)
if katsuo_age >= 11:
    print("カツオは11歳以上です")

# より小さい(<)
if tara_age < 5:
    print("タラちゃんはまだ小さいです")

# 以下(<=)
if wakame_age <= 10:
    print("ワカメは10歳以下です")

論理演算子を使った複合条件

複数の条件を組み合わせたい場合は、論理演算子を使います。

and演算子:両方の条件が真の場合

# 磯野家の夕食準備
sazae_at_home = True
time = 18

if sazae_at_home and time >= 17:
    print("サザエさん、夕食の準備を始めます!")
else:
    print("まだ夕食の準備には早いです。")

実行結果:

サザエさん、夕食の準備を始めます!

or演算子:どちらかの条件が真の場合

# カツオが遊びに行けるか判定
homework_done = False
is_sunday = True

if homework_done or is_sunday:
    print("カツオ、遊びに行ってもいいよ!")
else:
    print("カツオ、まず宿題を終わらせなさい!")

実行結果:

カツオ、遊びに行ってもいいよ!

日曜日なので、宿題が終わっていなくても遊びに行けます。

not演算子:条件を反転

# 波平さんの帰宅チェック
namihei_at_home = False

if not namihei_at_home:
    print("波平さんはまだ会社です。")
else:
    print("波平さんは家にいます。")

実行結果:

波平さんはまだ会社です。

実践例:磯野家の一日をシミュレート

最後に、これまで学んだことを組み合わせた実践的な例を見てみましょう。

# 磯野家の朝の状況
time = 7
weather = "晴れ"
namihei_mood = "良好"

print("=== 磯野家の朝 ===")

# 時間による挨拶
if time < 6:
    print("まだ夜明け前です")
elif time < 12:
    print("おはようございます!")
elif time < 18:
    print("こんにちは!")
else:
    print("こんばんは!")

# 天気と波平さんの機嫌で出社の様子が変わる
if weather == "雨" and namihei_mood == "悪い":
    print("波平さん:「今日は最悪じゃ...」")
elif weather == "雨":
    print("波平さん:「雨か...傘を忘れずにな」")
elif namihei_mood == "悪い":
    print("波平さん:「うーむ...」")
else:
    print("波平さん:「よし!今日も一日頑張るぞい!」")

# カツオの登校準備
katsuo_ready = True
breakfast_done = True

if katsuo_ready and breakfast_done:
    print("カツオ:「いってきまーす!」")
elif not breakfast_done:
    print("サザエさん:「カツオ!朝ごはん食べていきなさい!」")
else:
    print("サザエさん:「カツオ!まだ準備できてないでしょ!」")

実行結果:


=== 磯野家の朝 === おはようございます! 波平さん:「よし!今日も一日頑張るぞい!」 カツオ:「いってきまーす!」

ネストしたif文(入れ子構造)

if文の中にさらにif文を入れることもできます。これをネスト(入れ子)構造といいます。

# サザエさんの買い物リスト
shopping_money = 5000
sale_day = True

if shopping_money >= 3000:
    print("予算は十分です。")
    
    if sale_day:
        print("今日はセール日なので、たくさん買えそう!")
    else:
        print("通常価格で買い物します。")
else:
    print("予算が足りません。")

実行結果:

予算は十分です。
今日はセール日なので、たくさん買えそう!

よくある初心者の間違いと対処法

間違い1:インデントのミス

# ❌ 間違った例
katsuo_score = 80
if katsuo_score >= 70:
print("合格!")  # インデントがない!

正しい書き方:

# ✅ 正しい例
katsuo_score = 80
if katsuo_score >= 70:
    print("合格!")  # スペース4つでインデント

間違い2:コロンの忘れ

# ❌ 間違った例
if katsuo_score >= 70  # コロンがない!
    print("合格!")

正しい書き方:

# ✅ 正しい例
if katsuo_score >= 70:  # コロンを忘れずに
    print("合格!")

間違い3:代入(=)と比較(==)の混同

# ❌ 間違った例
tara_age = 3
if tara_age = 3:  # = は代入演算子!
    print("タラちゃん3歳")

正しい書き方:

# ✅ 正しい例
tara_age = 3
if tara_age == 3:  # == は比較演算子
    print("タラちゃん3歳")

練習問題

サザエさん一家を題材にした練習問題に挑戦してみましょう!

問題1:基本のif文

磯野家の家族人数を判定するプログラムを作りましょう。家族が7人以上なら「大家族ですね!」と表示してください。

# ここに解答を書いてください
family_members = 8

if family_members >= 7:
    print("大家族ですね!")

問題2:if-else文

カツオのお小遣いが500円以上なら「漫画を買える」、500円未満なら「もう少し貯めよう」と表示してください。

# ここに解答を書いてください
katsuo_allowance = 450

if katsuo_allowance >= 500:
    print("漫画を買える")
else:
    print("もう少し貯めよう")

問題3:if-elif-else文

タラちゃんの年齢に応じて、「0-2歳:赤ちゃん」「3-5歳:幼児」「6歳以上:子供」と分類してください。

# ここに解答を書いてください
tara_age = 3

if tara_age <= 2:
    print("赤ちゃん")
elif tara_age <= 5:
    print("幼児")
else:
    print("子供")

まとめ

この記事では、サザエさん一家を例に、Pythonの条件分岐(if文)について学びました。重要なポイントをおさらいしましょう。

覚えておくべきポイント:

  1. if文の基本構文 – 条件式の後にコロン、処理はインデント
  2. else文 – 条件が偽の場合の処理
  3. elif文 – 複数の条件分岐
  4. 比較演算子 – ==, !=, >, <, >=, <=
  5. 論理演算子 – and, or, not
  6. インデントは重要 – Pythonではインデントが必須

条件分岐は、プログラミングの最も基本的で重要な要素の一つです。サザエさん一家の日常を通して学んだこの知識を、ぜひ実際のプログラミングで活用してください。

最初は難しく感じるかもしれませんが、たくさん練習することで自然と身につきます。まずは簡単な例から始めて、徐々に複雑な条件分岐に挑戦していきましょう!

次のステップ

条件分岐をマスターしたら、次は以下のテーマに進むことをおすすめします。

  • 繰り返し処理(for文、while文) – 同じ処理を何度も実行する
  • リスト・タプル – 複数のデータをまとめて扱う
  • 関数 – 処理をまとめて再利用する
  • 辞書(dictionary) – キーと値でデータを管理する

プログラミング学習を続けて、楽しいコーディングライフを送りましょう!

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

らくらくPython塾 – 読むだけでマスター