では、実践的な課題をレベル別にまとめました。実際に「入力を受け取って処理する」形なので、コピーして動かすと理解が深まります。
初級編
課題 1: 入力を小文字に変換
問題: ユーザーが入力した文字列をすべて小文字にして表示してください。
text = input("文字を入力してください: ")
print(text.lower())
Python解説:lower() は文字列をすべて小文字に変換します。検索や比較で大小文字を区別しないときに便利です。
中級編
課題 2: 前後の空白を削除して比較
問題: ユーザーが入力した答えが "yes" かどうかを判定してください。前後に空白や改行があっても正しく判定できるようにしましょう。
ans = input("続けますか? (yes/no): ")
clean = ans.strip().lower()
print(clean == "yes")
Python解説:
strip()で前後の空白や改行を削除lower()で小文字に統一
これで" YES "や"Yes\n"でも正しく判定できます。
課題 3: CSVの合計を計算
問題: ユーザーが "120, 300, 80" のような文字列を入力したら、数値に変換して合計を表示してください。
line = input("カンマ区切りの数字を入力してください: ")
nums = [int(x.strip()) for x in line.split(",")]
print("合計:", sum(nums))
Python解説:
split(",")でカンマ区切りをリストに分割strip()で余計な空白を削除int()で数値に変換sum()で合計を計算
上級編
課題 4: メールアドレスからドメインを抽出
問題: ユーザーがメールアドレスを入力したら、@ の後ろのドメイン部分を取り出してください。
email = input("メールアドレスを入力してください: ")
at = email.find("@")
if at != -1:
domain = email[at+1:]
print("ドメイン:", domain)
else:
print("有効なメールアドレスではありません")
Python解説:
find("@")で@の位置を探す- 見つかったらその後ろをスライスで取り出す
- 見つからなければエラーメッセージを表示
課題 5: 禁則語を伏字にする
問題: ユーザーが入力した文章に "secret" が含まれていたら、****** に置き換えて表示してください。
text = input("文章を入力してください: ")
bad = "secret"
masked = text.replace(bad, "*" * len(bad))
print(masked)
Python解説:
replace()で文字列を置換"*" * len(bad)で文字数分の伏字を作成
✅ これらを練習すると「入力を受け取って → 整形して → 判定や計算する」という流れが自然に身につきます。
