プログラミング上達のコツは学習初期段階でとにかく手を動かしてコーディングすることです。
本シリーズでは Python の初学者に向けたコーディング問題を出題します。
今回は whileループ break文 continue文 ループとelse文 を学習します。コーディング指示に従ってコーディングしてみましょう!
学習の進め方-
- プログラム説明および目的を確認し、どのようなプログラムで何を学ぶかイメージしましょう。
- コーディング指示に従ってコーディングをします。
もし分からなければ、コード例を確認しても良いです。 - 自分の出力結果と出力結果例を比較してみましょう。
- コード例を確認し、自分のコードと比較してみましょう。
コード例は「あくまでも例」なので完全に一致する必要はありません。 - 最終的にはコーディング指示だけでコーディングできるよう、繰り返し練習しましょう。
Python コーディング問題 1:家事のチェックリスト
プログラム説明
ユーザーに家事の項目数を入力させ、その回数だけ家事を完了したことを表示するプログラムを作成します。
コーディング指示
新しい Python ファイル num_tasks14_1.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
num_tasks14_1.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「今日の家事の項目数」を尋ね、その数値を
num_tasksという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 - 変数
counterを 0 に初期化します。これはループカウンタとして使用します。 whileループを使って、counterがnum_tasks未満の間、次の処理を繰り返します。print関数を使って、「家事 x 項目目を完了しました!」というメッセージを表示します。x はcounter + 1の値です。counterの値を 1 増やします。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーに今日の家事の項目数を入力してもらう
num_tasks = int(input("今日の家事の項目数を入力してください: "))
# ループカウンタを0で初期化
counter = 0
# ループカウンタが家事の項目数未満の間、ループを実行
while counter < num_tasks:
# 家事の完了メッセージを表示
print(f"家事 {counter + 1} 項目目を完了しました!")
# ループカウンタを1増やす
counter += 1
Python コーディング問題 2:貯金計画
プログラム説明
ユーザーに現在の貯金額、目標貯金額、毎月の貯金額を入力させ、目標額に達するまでの貯金の進捗を表示するプログラムを作成します。
コーディング指示
新しい Python ファイル savings_simulator14_2.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
savings_simulator14_2.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「現在の貯金額」を尋ね、その数値を
current_savingsという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 - ユーザーに「目標貯金額」を尋ね、その数値を
savings_goalという変数に代入します。同様にint関数を使います。 - ユーザーに「毎月の貯金額」を尋ね、その数値を
monthly_savingという変数に代入します。同様にint関数を使います。 - 変数
monthsを 0 に初期化します。これは月数をカウントするために使います。 whileループを使って、current_savingsがsavings_goal未満の間、次の処理を繰り返します。current_savingsにmonthly_savingを加算します。monthsの値を 1 増やします。print関数を使って、「x ヶ月目の貯金額: y 円」というメッセージを表示します。x はmonths、y はcurrent_savingsの値です。
- ループが終了したら、「目標額に達しました!」というメッセージを表示します。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーに現在の貯金額を入力してもらう
current_savings = int(input("現在の貯金額を入力してください: "))
# ユーザーに目標貯金額を入力してもらう
savings_goal = int(input("目標貯金額を入力してください: "))
# ユーザーに毎月の貯金額を入力してもらう
monthly_saving = int(input("毎月の貯金額を入力してください: "))
# 月数カウンタを0で初期化
months = 0
# 現在の貯金額が目標貯金額未満の間、ループを実行
while current_savings < savings_goal:
# 現在の貯金額に毎月の貯金額を加算
current_savings += monthly_saving
# 月数カウンタを1増やす
months += 1
# 貯金の進捗を表示
print(f"{months} ヶ月目の貯金額: {current_savings} 円")
# 目標額に達したらメッセージを表示
print("目標額に達しました!")
Python コーディング問題 3:読書の進捗
プログラム説明
ユーザーに読みたい本の総ページ数と休憩するページ数を入力させ、指定のページ数に到達したら休憩するプログラムを作成します。
コーディング指示
新しい Python ファイル reading_progress_with_break14_3.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
reading_progress_with_break14_3.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「本の総ページ数」を尋ね、その数値を
total_pagesという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 - ユーザーに「休憩するページ数」を尋ね、その数値を
break_pageという変数に代入します。同様にint関数を使います。 forループを使って、1からtotal_pagesまでのページ数を繰り返します。print関数を使って、「x ページ目を読みました」というメッセージを表示します。x は現在のページ数です。if文を使って、現在のページ数がbreak_pageと等しいかをチェックします。等しい場合は「休憩します」というメッセージを表示し、break文でループを終了します。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーに本の総ページ数を入力してもらう
total_pages = int(input("本の総ページ数を入力してください: "))
# ユーザーに休憩するページ数を入力してもらう
break_page = int(input("休憩するページ数を入力してください: "))
# 読書の開始を通知
print("読書を開始します")
# 1ページ目から総ページ数までループを実行
for p in range(1, total_pages + 1):
# 読んだページ数を表示
print(f"{p} ページ目を読みました")
# 現在のページ数が休憩するページ数と等しい場合、休憩を通知しループを終了
if p == break_page:
print("休憩します。")
break
Python コーディング問題 4:健康習慣の記録
プログラム説明
ユーザーに1週間の健康習慣(例: 水を飲む回数)を記録する際に、特定の日をスキップするプログラムを作成します。
コーディング指示
新しい Python ファイル weekly_health_logger14_4.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
weekly_health_logger14_4.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「スキップする日(1-7)」を尋ね、その数値を
skip_dayという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 forループを使って、1から7日間を繰り返します。if文を使って、現在の日がskip_dayと等しいかをチェックします。等しい場合はcontinue文を使ってループを次の反復に進めます。print関数を使って、「今日は x 日目。水を飲みました!」というメッセージを表示します。x は現在の日数です。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーにスキップする日を入力してもらう
skip_day = int(input("スキップする日を入力してください (1-7): "))
# 1週間の健康習慣の記録を通知
print("1週間の健康習慣を記録します")
# 1日目から7日目までループを実行
for day in range(1, 8):
# 現在の日がスキップする日と等しい場合、次の反復に進む
if day == skip_day:
continue
# 健康習慣の記録を表示
print(f"今日は {day} 日目。水を飲みました!")
Python コーディング問題 5:勉強の進捗
プログラム説明
ユーザーに勉強する日数を入力させ、その日数だけ勉強を行い、終了後にメッセージを表示するプログラムを作成します。
コーディング指示
新しい Python ファイル study_days_logger14_5.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
study_days_logger14_5.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「勉強する日数」を尋ね、その数値を
study_daysという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 forループを使って、0からstudy_days– 1までの日数を繰り返します。print関数を使って、「x 日目の勉強が完了しました」というメッセージを表示します。x は現在の日数 + 1 です。
- ループが正常に終了した場合、
else節を使って、「勉強が終了しました!お疲れ様でした。」というメッセージを表示します。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーに勉強する日数を入力してもらう
study_days = int(input("勉強する日数を入力してください: "))
# 0日目から勉強する日数-1日目までループを実行
for day in range(study_days):
# 勉強の進捗を表示
print(f"{day + 1} 日目の勉強が完了しました。")
# ループが正常に終了した場合、メッセージを表示
else:
print("勉強が終了しました!お疲れ様でした。")
Python コーディング問題 6:プロジェクトの進捗管理
プログラム説明
ユーザーにプロジェクトの期間(日数)と途中で終了する日を入力させ、その条件でプログラムを実行します。
コーディング指示
新しい Python ファイル project_progress_tracker14_6.py を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
project_progress_tracker14_6.pyとして保存します。
以下の手順に従ってプログラムを作成してください。
- ユーザーに「プロジェクトの期間(日数)」を尋ね、その数値を
project_daysという変数に代入します。入力にはinput関数を使い、整数値に変換するためにint関数を使います。 - ユーザーに「途中で終了する日」を尋ね、その数値を
stop_dayという変数に代入します。同様にint関数を使います。 forループを使って、0からproject_days– 1までの日数を繰り返します。print関数を使って、「x 日目のプロジェクト作業を完了しました」というメッセージを表示します。x は現在の日数 + 1 です。if文を使って、現在の日数 + 1 がstop_dayと等しいかをチェックします。等しい場合は「プロジェクトを途中で終了します」というメッセージを表示し、break文でループを終了します。
- ループが正常に終了した場合、
else節を使って、「プロジェクト期間が終了しました!お疲れ様でした。」というメッセージを表示します。
出力結果例
タップして出力結果例を表示

Python コード例
タップしてコード例を表示
# ユーザーにプロジェクトの期間を入力してもらう
project_days = int(input("プロジェクトの期間(日数)を入力してください: "))
# ユーザーに途中で終了する日を入力してもらう
stop_day = int(input("途中で終了する日を入力してください: "))
# 0日目からプロジェクトの期間-1日目までループを実行
for day in range(project_days):
# プロジェクトの進捗を表示
print(f"{day + 1} 日目のプロジェクト作業を完了しました。")
# 現在の日数+1が途中で終了する日と等しい場合、通知しループを終了
if day + 1 == stop_day:
print("プロジェクトを途中で終了します。")
break
# ループが正常に終了した場合、メッセージを表示
else:
print("プロジェクト期間が終了しました!お疲れ様でした。")プログラミングは実際に手を動かしながら理解を深めることが大切です。次回も引き続き、コーディング問題を解きながらスキルを磨いていきましょう!(参考:Python公式日本語ドキュメント)










