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 を増やしていない!
Pythoncount はずっと 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日目の流れを頭の中で再生してみる
コードの動きを言葉で説明してみる
memos = []で空のメモ箱を用意する。while True:で「とりあえず繰り返しモード」に入る。input()でメモを入力してもらう。- 入力が
"終了"ならbreakでループを抜ける。 - それ以外なら
memos.append(text)でメモを保存する。 - while の先頭に戻って、また入力を聞く。
- どこかで
"終了"と入力されたら、ループを抜ける。 - 最後に for 文で
memosの中身を一つずつ表示する。
この流れを、
自分の言葉で説明できるようになっていれば、
while と終了条件の“芯”はもう掴めています。
今日いちばん深く理解してほしいこと
1日目の本質は、これです。
「while は“いつまで続けるか”を自分で決める繰り返しであり、
終了条件をちゃんと考えないと、永遠に終わることはない」
終了条件は、まず日本語で言えるようにする。
その日本語を if 文と break に変える。
この感覚さえ掴めていれば、
2日目以降で「空文字は無視する」「重複はスキップする」など、
もう少し現実的なルールを足していく準備はできています。


