7日目のゴールと今日やること
7日目のテーマは
「この1週間で学んだ“繰り返しカウント”を、ひとつの完成アプリとしてまとめる」 ことです。
新しい文法は、ほとんど増やしません。
for
range
変数(今・残り・セット数など)
if(回数やセットによってメッセージを変える)
この4つを全部使って、
「自分用トレーニングカウンターアプリ」
「セット × 回数 × メッセージ付きのカウンター」
を、ひとつの“作品”として形にします。
今日は「覚える日」ではなく、
「自分で説明できるようにする日」「自分のアプリとして完成させる日」 です。
ここまでの6日間で手に入れた「4つの道具」
繰り返しの軸 for と range
2日目・3日目でやってきたのは、
for i in range(1, 6):
print(i)
Pythonのように、
「1〜5を順番に取り出しながら、同じ形の処理を繰り返す」
という基本形でした。
range(開始, 終わり) は、
開始は含む
終わりは含まない
というルールで、
range(1, 6) → 1, 2, 3, 4, 5
という並びを作ります。
ここに「ステップ」を足すと、
for i in range(1, 10, 2):
print(i)
Pythonのように、
1, 3, 5, 7, 9 といった「増え方」をデザインできるようになりました。
「今何回目か」を表す変数
for の中で使う i は、
「今、何回目か」
を表す数字でした。
1回目 → i = 1
2回目 → i = 2
というふうに、
繰り返しのたびに i の値が変わっていきます。
この i を使って、
1回目だけ特別なメッセージ
3回目で区切り線
最後の回だけ締めのメッセージ
など、「回数によって中身を変える」ことができるようになりました。
「今」と「残り」を同時に扱う
5日目では、
total = 5
for i in range(1, total + 1):
print("今は", i, "回目")
print("残りは", total - i, "回です")
Pythonのように、
i(今何回目か)
total – i(残り何回か)
という2つの視点を同時に扱いました。
これによって、
「今ここにいる」
「ゴールまであとどれくらいか」
を、カウンターとして表現できるようになりました。
セット × 回数の二重ループ
6日目では、「セット」という考え方を入れました。
sets = 3
reps_per_set = 5
for s in range(1, sets + 1):
for r in range(1, reps_per_set + 1):
print("セット", s, "の", r, "回目")
Python外側の s は「セット番号」
内側の r は「セット内の回数」
という役割を持ち、
「大きな単位(セット)」
「小さな単位(回数)」
を同時にカウントできるようになりました。
今日作るもののイメージ「自分用トレーニングカウンターアプリ」
アプリの仕様を日本語で先に決める
いきなりコードではなく、
まずは「どんなアプリにしたいか」を日本語で決めます。
例えば、こんな仕様にしましょう。
セット数と1セットあたりの回数を設定できる
各セットの開始と終了を表示する
各セットの中で「今何回目か」を表示する
セットごとに「残りセット数」を表示する
最後のセットだけ特別なメッセージを出す
最後に「今日のトレーニング完了メッセージ」を出す
これが、そのままプログラムの設計になります。
コード① 設定ゾーンを書く
まずは「変えたい値」を一箇所に集める
いちばん上に、「設定ゾーン」をまとめて書きます。
sets = 3 # セット数
reps_per_set = 8 # 1セットあたりの回数
Pythonここを変えるだけで、
3セット × 8回
4セット × 10回
など、いろいろなメニューに対応できるようにします。
この段階では、まだループも print も書きません。
「このアプリは何を前提に動くのか」を決めている部分 です。
コード② タイトルと概要を表示する
アプリとしての「顔」を作る
次に、タイトルと概要を表示します。
print("===== 自分用トレーニングカウンター(7 日目) =====")
print()
print("今日のメニューは")
print(" セット数:", sets)
print(" 1 セットあたりの回数:", reps_per_set)
print()
print("それでは始めましょう。")
print()
Pythonここは、完全に「見た目」の部分です。
でも、
「アプリを起動したときに、何が始まるのかが分かる」
というのは、実用的なアプリとしてとても大事な要素です。
コード③ 外側のループ(セットごとの処理)
セット単位の流れを作る
次に、セットごとの流れを書きます。
for s in range(1, sets + 1):
print("=== セット", s, "開始 ===")
if s == sets:
print("ラストセット! 集中していこう。")
else:
print("まだいける。残りセット数:", sets - s)
print()
# ここに「セット内の回数カウント」を書く
Pythonここでやっていることは、
s を 1 から sets まで変えながら、
各セットの開始メッセージを出す
ということです。
if s == sets: で、
「最後のセットかどうか」
を判定し、
最後だけ特別なメッセージを出しています。
「どのセットにいるか」を意識してメッセージを変える
これが、外側のループの役割です。
コード④ 内側のループ(セット内の回数カウント)
1セットの中で「何回目か」を数える
外側のループの中に、
セット内の回数カウントを入れます。
for s in range(1, sets + 1):
print("=== セット", s, "開始 ===")
if s == sets:
print("ラストセット! 集中していこう。")
else:
print("まだいける。残りセット数:", sets - s)
print()
for r in range(1, reps_per_set + 1):
print(" →", r, "回目")
print("=== セット", s, "終了 ===")
print()
Pythonここでの構造は、
外側の for(s)
→ セットの開始メッセージ
→ 内側の for(r)で回数カウント
→ セットの終了メッセージ
という流れになっています。
r は「セット内の回数」を表す変数です。
「s はセット」「r は回数」
この役割の違いを、名前で意識しておくと
コードがぐっと読みやすくなります。
コード⑤ 回数に応じてメッセージを変える
内側のループにも if を足す
トレーニングっぽくするために、
セット内の回数でもメッセージを変えてみましょう。
for s in range(1, sets + 1):
print("=== セット", s, "開始 ===")
if s == sets:
print("ラストセット! 集中していこう。")
else:
print("まだいける。残りセット数:", sets - s)
print()
for r in range(1, reps_per_set + 1):
if r == 1:
print(" →", r, "回目(ウォーミングアップ)")
elif r == reps_per_set:
print(" →", r, "回目(セットのラスト!)")
else:
print(" →", r, "回目")
print()
print("=== セット", s, "終了 ===")
print()
Pythonここでは、
r == 1
→ 1回目だけ「ウォーミングアップ」
r == reps_per_set
→ 最後の回だけ「セットのラスト!」
それ以外
→ 普通の表示
というふうに、
「回数によってメッセージを変える」 ことをしています。
外側の if(セットごと)
内側の if(回数ごと)
が、それぞれ違うレベルの話をしていることに注目してください。
コード⑥ 最後の締めメッセージ
アプリとしての「終わり方」を決める
最後に、全体の締めメッセージを入れます。
print("おつかれさま。")
print("今日のトレーニングメニューはすべて完了しました。")
print("水分補給とストレッチも忘れずに。")
Pythonこれで、
設定
タイトル
セットごとの流れ
セット内の回数カウント
最後の締め
という、ひとつの「アプリのストーリー」が完成します。
完成コード(7日目版 繰り返しカウントアプリ)
全体を通して読んでみる
ここまでの要素を全部つなげると、
こんなコードになります。
sets = 3 # セット数
reps_per_set = 8 # 1セットあたりの回数
print("===== 自分用トレーニングカウンター(7 日目) =====")
print()
print("今日のメニューは")
print(" セット数:", sets)
print(" 1 セットあたりの回数:", reps_per_set)
print()
print("それでは始めましょう。")
print()
for s in range(1, sets + 1):
print("=== セット", s, "開始 ===")
if s == sets:
print("ラストセット! 集中していこう。")
else:
print("まだいける。残りセット数:", sets - s)
print()
for r in range(1, reps_per_set + 1):
if r == 1:
print(" →", r, "回目(ウォーミングアップ)")
elif r == reps_per_set:
print(" →", r, "回目(セットのラスト!)")
else:
print(" →", r, "回目")
print()
print("=== セット", s, "終了 ===")
print()
print("おつかれさま。")
print("今日のトレーニングメニューはすべて完了しました。")
print("水分補給とストレッチも忘れずに。")
Pythonこのコードを、
上から下まで「物語」として読んでみてください。
設定を読む
タイトルを読む
セットごとの流れを読む
セット内の回数の動きを読む
最後の締めを読む
というふうに、
「コードをストーリーとして説明できるか」 を意識してみてください。
7日目で特に深く理解してほしいこと
コードは「設定 → 流れ → 繰り返し → 条件 → 締め」の物語
今日のコードは、構造としてはこうなっています。
設定を書く
アプリのタイトルと概要を出す
セットごとの流れを for で回す
セット内の回数を for で回す
if でメッセージを変える
最後に締めのメッセージを出す
この流れを、自分の言葉で説明できるなら、
あなたはもう「なんとなく書いている」段階を抜けています。
「この数字は何を表しているか」を常に意識する
sets は「全部で何セットか」
reps_per_set は「1セットあたり何回か」
s は「今何セット目か」
r は「セット内で今何回目か」
それぞれの数字に「役割」があります。
「この変数は何を表しているのか?」
を意識して名前をつけると、
自分のコードが一気に読みやすくなります。
「自分のためのアプリ」という視点を持つ
今日作ったトレーニングカウンターは、
そのままでも使えますが、
sets を自分のメニューに合わせて変える
メッセージを自分の言葉に変える
ことで、
「自分専用の小さなアプリ」 になります。
7日間の繰り返しカウントアプリを終えて
この7日間で、あなたはすでに、
for と range で、回数を自由に数えられる
ステップや向きを変えて、数え方をデザインできる
「今」と「残り」を同時に扱える
セット × 回数という二重のカウントを扱える
if と組み合わせて、回数やセットによってメッセージを変えられる
というところまで来ています。
ここから先は、
新しい文法を覚えることも大事ですが、
それ以上に、
「自分が本当にほしいカウンター」をひとつずつ作ってみること
が効いてきます。
例えば、
勉強のポモドーロ回数カウンター
ストレッチのセットカウンター
作業のタスク回数カウンター
どれも、
今日までにやった for + range + if + 変数
の組み合わせで作れます。
最後にひとつだけ、あなたに問いを投げます。
「この7日間で学んだ“繰り返しカウント”を使って、
あなたは自分のために、どんなカウンターを作ってみたいですか?」
その答えが浮かんだ瞬間、
この7日間の学びは、ただの練習ではなく、
あなたの生活に食い込む“道具”になります。


