JavaScript | 1 日 90 分 × 7 日アプリ学習:ランダム表示アプリ(初級編)

Python
スポンサーリンク

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日目からは、
この「数え方のバリエーション」を使って、

  • 何回目かによってメッセージを変える
  • 残り回数を表示する
  • 簡単な「トレーニングカウンター」っぽいものを作る

といった、より“アプリっぽい”形に近づけていきます。

最後にひとつ、あなたに聞きたい。

今日の中で、

「このカウントダウン、ちょっと使ってみたいな」
「この偶数カウンター、何かに応用できそうだな」

と感じた瞬間はありましたか?

その「使ってみたい」という感覚が、
あなたと“繰り返しカウントアプリ”をつなぐ一番大事な火種です。

タイトルとURLをコピーしました