4日目のゴールと今日やること
4日目のテーマは
「繰り返しの“バリエーション”を増やして、カウントを自由にデザインできるようになること」 です。
ここまでであなたは、
for i in range(1, 6):のように、1から順番に数えるifと組み合わせて、回数によってメッセージを変える
ところまで来ました。
今日はここに、
- カウントアップ(1→10)だけでなく、カウントダウン(10→1)
- 1ずつではなく、2ずつ・3ずつ増やす「ステップ」
- 偶数だけ・奇数だけを数える
といった「数え方のバリエーション」を足していきます。
繰り返しカウントアプリを「自分好みのカウンター」にしていく日です。
range の「3つ目の数字」=ステップを理解する
まずはおさらい:range(開始, 終わり)
これまで使ってきた range は、だいたいこうでした。
for i in range(1, 6):
print(i)
Pythonこれは、
1, 2, 3, 4, 5
という並びを作って、
i に順番に入れていました。
range(開始, 終わり) は、
- 開始は「含む」
- 終わりは「含まない」
というルールでしたね。
だから range(1, 6) は「1〜5」です。
3つ目の数字「ステップ」を足すとどうなるか
実は range には、3つ目の数字を足せます。
range(開始, 終わり, ステップ)
Pythonこの「ステップ」が、
「何ずつ増やすか」 を表します。
例えば、
for i in range(1, 10, 2):
print(i)
Pythonこれは、
1, 3, 5, 7, 9
と表示されます。
1から始めて、2ずつ増やしていく
終わりは 10 の手前まで
という意味です。
同じように、
for i in range(0, 11, 5):
print(i)
Pythonなら、
0, 5, 10
と表示されます。
「3つ目の数字は、“増え方の幅”」
ここをしっかり押さえておきましょう。
偶数だけ・奇数だけをカウントしてみる
奇数だけを数える
奇数は「1, 3, 5, 7, 9…」のように、
1から始めて2ずつ増えていく数です。
なので、こう書けます。
for i in range(1, 10, 2):
print(i, "(奇数)")
Python出力は、
1(奇数)
3(奇数)
5(奇数)
7(奇数)
9(奇数)
となります。
偶数だけを数える
偶数は「2, 4, 6, 8, 10…」のように、
2から始めて2ずつ増えていく数です。
for i in range(2, 11, 2):
print(i, "(偶数)")
Python出力は、
2(偶数)
4(偶数)
6(偶数)
8(偶数)
10(偶数)
となります。
ここで感じてほしいのは、
「奇数・偶数を“条件で判定する”前に、
range のステップだけで作り分けられる」
ということです。
カウントダウン(逆向きに数える)をやってみる
「減らしていく」range の書き方
今度は、10から1へ向かって数えてみましょう。
for i in range(10, 0, -1):
print(i)
Pythonこれを実行すると、
10
9
8
7
6
5
4
3
2
1
と表示されます。
ここでのポイントは、
- 開始:10
- 終わり:0(含まない)
- ステップ:-1(1ずつ減らす)
ということです。
「ステップにマイナスを入れると、逆向きに進む」
これがカウントダウンの基本です。
カウントダウン+メッセージで「残り回数カウンター」
例えば、こんなコードを書いてみます。
print("カウントダウン開始")
for i in range(5, 0, -1):
print("残り", i, "回")
print("カウントダウン終了")
Python出力は、
カウントダウン開始
残り 5 回
残り 4 回
残り 3 回
残り 2 回
残り 1 回
カウントダウン終了
となります。
「残り何回か」を表示するカウンターとして、
かなり“アプリっぽい”動きになってきました。
ステップを変えて「好きなリズムで数える」
3ずつ増やすカウンター
例えば、3ずつ増やしていくカウンターを作ってみましょう。
for i in range(0, 16, 3):
print(i)
Python出力は、
0
3
6
9
12
15
となります。
0から始めて、3ずつ増やしていく
16の手前まで
という意味です。
「何回目」と「値」を両方意識する
少し発展させて、
「何回目のカウントで、値はいくつか」を表示してみます。
count = 1
for value in range(0, 16, 3):
print(count, "回目: 値は", value)
count = count + 1
Python出力は、
1 回目: 値は 0
2 回目: 値は 3
3 回目: 値は 6
4 回目: 値は 9
5 回目: 値は 12
6 回目: 値は 15
となります。
ここでやっていることは、
valueは「今の値」(0, 3, 6, …)countは「何回目か」(1, 2, 3, …)
というふうに、
役割の違う2つの数字を扱っている、ということです。
「回数」と「値」を分けて考える」
これは、カウントアプリを設計するときにとても大事な視点です。
4日目のミニ仕上げ:カウントアップ+カウントダウンアプリ
1→5 でカウントアップ、5→1 でカウントダウン
今日の内容をまとめて、
小さな「カウントアップ&ダウンアプリ」を作ってみましょう。
print("===== カウントアップ&ダウンアプリ 4 日目 =====")
print()
print("カウントアップ(1 → 5)")
for i in range(1, 6):
print(i)
print()
print("カウントダウン(5 → 1)")
for i in range(5, 0, -1):
print(i)
print()
print("偶数だけカウント(2, 4, 6, 8, 10)")
for i in range(2, 11, 2):
print(i)
print()
print("今日もいろいろな“数え方”を試しました。")
Python実行すると、
1→5 のカウントアップ
5→1 のカウントダウン
偶数だけのカウント
が順番に表示されます。
「数え方をデザインする」という感覚が、
少しずつ自分のものになってきているはずです。
4日目で特に深く理解してほしいこと
1つ目:range の3つ目の数字は「ステップ」
range(開始, 終わり, ステップ) のステップは、
- 正の数なら「増やし方」
- 負の数なら「減らし方」
を表します。
1ずつ増やすだけでなく、
2ずつ・3ずつ・逆向きなど、
「増え方・減り方を自由に決められる」 ことが大事です。
2つ目:カウントアップとカウントダウンは「向きが違うだけ」
1→10 も
10→1 も
やっていることは同じで、
「一定のルールで数字を変えながら、
そのたびに同じ形の処理を繰り返す」
ということです。
向き(増えるか減るか)とステップ(何ずつか)を変えるだけで、
いろいろなカウンターが作れます。
3つ目:「回数」と「値」を分けて考える
for i in range(1, 6): の i を「回数」として使うのか、for value in range(0, 16, 3): の value を「値」として使うのか。
さらに、別に count という変数を用意して
「何回目か」を管理するのか。
「この数字は何を表しているのか?」
を意識して名前をつけると、
コードが一気に読みやすくなります。
5日目へのつなぎ
4日目までであなたは、
rangeのステップを使って、数え方をデザインできる- カウントアップ・カウントダウン・偶数/奇数カウントが書ける
- 「回数」と「値」を分けて扱う感覚を持ち始めている
というところまで来ました。
5日目からは、
この「数え方のバリエーション」を使って、
- 何回目かによってメッセージを変える
- 残り回数を表示する
- 簡単な「トレーニングカウンター」っぽいものを作る
といった、より“アプリっぽい”形に近づけていきます。
最後にひとつ、あなたに聞きたい。
今日の中で、
「このカウントダウン、ちょっと使ってみたいな」
「この偶数カウンター、何かに応用できそうだな」
と感じた瞬間はありましたか?
その「使ってみたい」という感覚が、
あなたと“繰り返しカウントアプリ”をつなぐ一番大事な火種です。


