Python | 「if-else」+「ループ」+「関数」 を組み合わせた小さな実践アプリ

Python
スポンサーリンク

ここからは、「if-else」+「ループ」+「関数」 を組み合わせて、
初心者が“実際に動く小アプリ”を作れるようになる実践課題をやっていきましょう。


1. 基本構成を理解しよう

まず構成の考え方です。

構文役割
if-else条件分岐合格/不合格を判定する
for / while繰り返し処理複数のデータをまとめて処理
def 関数名():処理のかたまりを作る判定を再利用可能にする

ステップアップ課題セット(難易度順)


課題1:複数の点数を判定して「合格」「不合格」を出す

目標

複数のテスト点数をループで処理し、
各点数を if-else で判定する関数を作る。

def judge_scores(scores):
    for s in scores:
        if s >= 60:
            print(f"{s}点 → 合格")
        else:
            print(f"{s}点 → 不合格")

# 実行
judge_scores([30, 75, 90, 50])
Python

🟢 出力例

30点 → 不合格
75点 → 合格
90点 → 合格
50点 → 不合格

🧠 ポイント

  • for s in scores: でリストの中身を1つずつ取り出す。
  • if s >= 60: の条件を else: と組み合わせて分岐。

課題2:ユーザーが入力した回数分だけ「偶数・奇数」判定

目標

  • input() をループで使って複数回データを受け取る。
  • 各値を if-else で判定する。
def even_odd_checker():
    count = int(input("何回判定しますか? "))
    for i in range(count):
        n = int(input(f"{i+1}回目の数を入力してください: "))
        if n % 2 == 0:
            print("偶数です")
        else:
            print("奇数です")

even_odd_checker()
Python

🧠 ポイント

  • for ループで繰り返し入力を受け取る。
  • if n % 2 == 0: で偶数判定。
  • int() で文字列→整数に変換。

課題3:成績ランク表示アプリ(関数+ループ+if-elif-else)

目標

点数に応じてランク(A〜D)を出す。複数データをまとめて処理。

def grade(score):
    if score >= 90:
        return "A"
    elif score >= 75:
        return "B"
    elif score >= 60:
        return "C"
    else:
        return "D"

def show_grades(scores):
    for s in scores:
        print(f"{s}点 → {grade(s)}ランク")

show_grades([95, 80, 61, 45])
Python

🟢 出力例

95点 → Aランク
80点 → Bランク
61点 → Cランク
45点 → Dランク

🧠 ポイント

  • if-elif-else で条件を段階的にチェック。
  • return で関数の結果を戻す。
  • for で複数データを自動処理。

課題4:ログイン試行3回まで(ループ+if+break)

目標

パスワード入力を3回まで許可し、正解ならログイン成功。

def login():
    password = "apple123"
    for i in range(3):
        pw = input("パスワードを入力: ")
        if pw == password:
            print("✅ ログイン成功!")
            break
        else:
            print("❌ 間違いです")
    else:
        print("⚠️ 3回失敗しました。アカウントをロックします。")

login()
Python

🧠 ポイント

  • for ... else の構文を使うと、「break されなかったとき」だけ else 部分が動く。
  • 失敗回数の制限を簡単に実装できる。

課題5:平均点アプリ(関数+ループ+if-else)

目標

点数のリストから平均を計算し、合格/不合格を判定。

def average(scores):
    return sum(scores) / len(scores)

def check_average(scores):
    avg = average(scores)
    print(f"平均点:{avg:.1f}点")
    if avg >= 60:
        print("🎉 クラス平均は合格!")
    else:
        print("😢 クラス平均は不合格…")

check_average([70, 80, 40, 60])
Python

🟢 出力例

平均点:62.5点
🎉 クラス平均は合格!

🧠 ポイント

  • 関数を分けて「計算部分」と「判定部分」を整理。
  • :.1f は少数1桁まで表示するフォーマット指定。

課題6:ショッピング支払い計算(関数+if+ループ)

目標

購入金額の合計を求め、割引条件で金額を調整。

def checkout(prices):
    total = 0
    for p in prices:
        total += p
    if total >= 10000:
        print(f"合計 {total}円 → 10%割引で {total * 0.9:.0f}円!")
    else:
        print(f"合計 {total}円 → 割引なし")

checkout([2500, 4000, 1500, 3000])
Python

🟢 出力例

合計 11000円 → 10%割引で 9900円!

🧠 ポイント

  • for で合計計算。
  • if で割引条件を分岐。
  • 関数にすることでレジ処理を何度も使える。

課題7:ミニ診断アプリ(if-else+関数)

目標

ユーザー入力に応じて異なる結果を返す簡単な診断アプリ。

def mood_checker():
    mood = input("今の気分は?(元気/ふつう/疲れた): ")
    if mood == "元気":
        print("✨ 今日も頑張りましょう!")
    elif mood == "ふつう":
        print("☕ 一息つきながら進もう。")
    else:
        print("💤 無理せず休んでね。")

mood_checker()
Python

応用発展アイデア

ここまでできれば、次のような小アプリも作れます:

ミニアプリ内容主に使う構文
年齢判定アプリ入力年齢で区分(未成年/成人/高齢者)if-elif-else
成績表アプリ複数点数をループで処理してランク表示for + 関数
ログイン認証3回までパスワード入力可for + if + break
電卓入力を eval() で計算(安全版)while + if
ショッピング割引条件に応じて割引処理for + if + 計算

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました