Python | 1 日 90 分 × 7 日アプリ学習:繰り返し入力メモアプリ(初級編)

Web APP Python
スポンサーリンク

1日目のゴールと作るもののイメージ

1日目のテーマは
Python の while 文で“終わりのある繰り返し”をちゃんとコントロールできるようになること」です。

題材は「繰り返し入力メモアプリ」。

何度もメモを入力できる。
「終了」と入力したら、そこで入力をやめる。
最後に入力したメモ一覧を表示する。

このシンプルな流れの中で、
while と「終了条件」の考え方を体に染み込ませます。


while 文とは何かを直感でつかむ

「条件が True の間、ずっとやる」仕組み

Python の while 文は、こういう意味です。

「この条件が True の間、ここを繰り返してね」

形はこうです。

while 条件:
    # 繰り返したい処理
Python

例えば、3回「こんにちは」と表示したいとします。

count = 0

while count < 3:
    print("こんにちは")
    count = count + 1
Python

このコードの流れを言葉で追うと、こうなります。

最初は count = 0
count < 3 は True なので中に入る。
「こんにちは」を表示して、count = 1 にする。
また while の条件に戻って count < 3 をチェック。
count が 3 になった瞬間、count < 3 が False になり、ループ終了。

ここで一番大事なのは、

「条件が False にならないと、ループは終わらない」

ということです。


終了条件を“自分で作る”という感覚

終了条件を忘れるとどうなるか

もし、さっきのコードから count = count + 1 を消したらどうなるでしょう。

count = 0

while count < 3:
    print("こんにちは")
    # count を増やしていない!
Python

count はずっと 0 のままなので、
count < 3 は永遠に True です。

つまり、「こんにちは」が止まらなくなります。
これが「無限ループ」です。

だから while を使うときは、
「どこで条件を False にするか」 を必ず考えます。


メモアプリに while をどう使うか考える

まず日本語でやりたいことを書く

今回の「繰り返し入力メモアプリ」を、
いきなりコードにせず、日本語で整理してみます。

メモを入力してもらう。
「終了」と入力されるまでは、何度でもメモを受け付ける。
「終了」と入力されたら、繰り返しをやめる。
最後に、集めたメモを全部表示する。

この「終了と入力されたらやめる」が、
そのまま「終了条件」になります。


input と while を組み合わせた基本形

まずは動くコードを見てみる

Python では、キーボードからの入力に input() を使います。

memos = []

while True:
    text = input("メモを入力してください(終了 と入力で終わり):")

    if text == "終了":
        break

    memos.append(text)

print("入力されたメモ一覧:")
for memo in memos:
    print("-", memo)
Python

このコードで、
while と終了条件がどう働いているかを分解していきます。


深掘り:while True と break の関係

なぜ while True を使うのか

while True: は、
「とりあえず永遠に繰り返す」という宣言です。

「無限ループじゃん」と思うかもしれませんが、
中で break を使って「自分で終わらせる」前提で書いています。

while True:
    # ここで条件を見て break する
Python

このスタイルは、

「いつ終わるかは中身のロジックで決める」

という書き方です。

break がやっていること

break
「今の while(または for)を即座に抜ける」命令です。

今回のコードでは、

if text == "終了":
    break
Python

と書いています。

これは、

「入力された文字が ‘終了’ だったら、ここでループを終わりにする」

という意味です。

ここが「終了条件」です。


終了条件を“日本語 → コード”に変換する練習

まず日本語で言えるかどうか

今回の終了条件は、日本語にするとこうです。

「入力された文字が ‘終了’ だったら終わり」

これを if 文にすると、

if text == "終了":
    break
Python

となります。

ここで意識してほしいのは、

「日本語で条件を説明できる → それを if に落とし込む」

という流れです。

日本語で言えない条件は、
だいたいコードでも書けません。


メモをリストに貯める意味

なぜその場で print しないのか

こう書くこともできます。

while True:
    text = input("メモを入力してください(終了 と入力で終わり):")

    if text == "終了":
        break

    print("入力されたメモ:", text)
Python

これでも「入力されたメモ」は見えますが、
「最後に一覧で見たい」となったときに困ります。

そこで、リストを使います。

memos = []

while True:
    text = input("メモを入力してください(終了 と入力で終わり):")

    if text == "終了":
        break

    memos.append(text)

print("入力されたメモ一覧:")
for memo in memos:
    print("-", memo)
Python

リストは、

「繰り返しの中で集めたものを、あとでまとめて使うための箱」

というイメージで捉えておくと良いです。
while とリストは、かなり相性のいい組み合わせです。


1日目の流れを頭の中で再生してみる

コードの動きを言葉で説明してみる

  1. memos = [] で空のメモ箱を用意する。
  2. while True: で「とりあえず繰り返しモード」に入る。
  3. input() でメモを入力してもらう。
  4. 入力が "終了" なら break でループを抜ける。
  5. それ以外なら memos.append(text) でメモを保存する。
  6. while の先頭に戻って、また入力を聞く。
  7. どこかで "終了" と入力されたら、ループを抜ける。
  8. 最後に for 文で memos の中身を一つずつ表示する。

この流れを、
自分の言葉で説明できるようになっていれば、
while と終了条件の“芯”はもう掴めています。


今日いちばん深く理解してほしいこと

1日目の本質は、これです。

「while は“いつまで続けるか”を自分で決める繰り返しであり、
終了条件をちゃんと考えないと、永遠に終わることはない」

終了条件は、まず日本語で言えるようにする。
その日本語を if 文と break に変える。

この感覚さえ掴めていれば、
2日目以降で「空文字は無視する」「重複はスキップする」など、
もう少し現実的なルールを足していく準備はできています。

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