ここからは、「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 + 計算 |
