PYTHON はじめの一歩 / LESSON 07

whileで続けてみよう。

決まった回数ではなく、条件が成り立つ間だけ繰り返すなら while。止まる仕組みも一緒に作ろう。

学びを始める

『まだ?』を確かめてから、もう一度。 | 動画なしでも学べます

whileで続けてみよう。をあおい・はる・AI先生・ROBORONと考えるイラスト
『まだ?』を確かめてから、もう一度。
GOAL

この回でできるようになること

  • 01while の条件と更新をセットで書く
  • 02break と continue の違いを理解する
  • 03入力が終わる合図を作り、安全に止める
ことばの窓
01 / EXPLORE

続ける条件を先に決める

while 条件: の下を、条件が True の間だけ繰り返します。値を変える行がないと、終わらないことがあります。

あおい

ROBORON、何回数えたら止まるの?

AI先生

count が3になる前まで、と決めよう。毎回1ずつ増やす行も必要なんだよ。

はる

条件だけでなく、条件を変える処理まで確認します。

実際のコードまず結果を予想してみよう
count = 0
while count < 3:
    print(count)
    count += 1
print("終了")
実行すると0 / 1 / 2 / 終了

なぜ? count は0→1→2→3と変わります。3になった時点で count < 3 が False になり、抜けます。

目で見てわかる続ける条件を先に決める
図7-1 毎回条件を確かめてから進みます。
図7-1 毎回条件を確かめてから進みます。
ROBORONのチェック!

終わらないループは実行欄の『停止』で止められるよ。

02 / EXPLORE

途中で終える break

while True: はずっと条件が True。終わる合図が来たら break で外へ出ます。

あおい

『おわり』って言ったら止まる受付にできる?

AI先生

できるよ。入力を見て、合図なら break。そうでなければ続けるんだ。

はる

入力欄には input() の回数に合わせ、1行ずつ値を用意しますね。

実際のコードまず結果を予想してみよう
while True:
    word = input("ことば: ")
    if word == "おわり":
        break
    print("受け取り:", word)
print("受付終了")
実行すると入力『りんご』『おわり』なら 受け取り: りんご / 受付終了

なぜ? 最初の入力は表示し、2回目の『おわり』では break が働くので表示せず終了します。

目で見てわかる途中で終える break
図7-2 終わりの合図は表示より先に調べます。
図7-2 終わりの合図は表示より先に調べます。
ROBORONのチェック!

実行欄では input() に渡す値を1行ずつ入れてね。

03 / EXPLORE

今回だけ飛ばす continue

continue はループ全体を終えず、今回の残りだけを飛ばして次へ進みます。

あおい

空っぽの入力だけ無視して、次を待てる?

AI先生

それが continue の出番なんだよ。ただし、その前に回数を増やすなど、止まるための更新を忘れないでね。

はる

break はループから出る、continue は次の周回ですね。

実際のコードまず結果を予想してみよう
for n in range(1, 6):
    if n == 3:
        continue
    print(n)
実行すると1 / 2 / 4 / 5

なぜ? n が3の周回だけ print を飛ばします。4と5の周回は続きます。

目で見てわかる今回だけ飛ばす continue
図7-3 『終了』と『1回分を飛ばす』は別です。
図7-3 『終了』と『1回分を飛ばす』は別です。
ROBORONのチェック!

while で continue を使うときは、無限ループを作らないよう値の更新位置に注意しよう。

04 / YOUR TURN

予想して、理由まで確かめよう

答えを選んだら、説明を読んでから実行欄でも試してみよう。

チャレンジどれになるかな?

count = 0; while count < 2: count += 1 の後、count は?

答えを選ぶと理由が表示されます。

PUT IT TOGETHER

小さな練習:5から0までカウントダウン

while を使い、5、4、3、2、1、0を順に表示しよう。

ヒント:0以上の間表示し、毎回1減らします。

解き方の一例と理由を見る
count = 5
while count >= 0:
    print(count)
    count -= 1

0を表示した後に-1となり、条件が False になって止まります。

COFFEE BREAK

投票や受付の繰り返しでは

あおい

たくさんの人が来ても、1人ずつ同じ受付ができるんだ!

AI先生

そうなんだよ。ただし現実の個人情報や投票内容を学習用ページに入力しないでね。ここでは架空の名前や数字だけで試そう。

はる

実際のシステムには、入力確認や情報の保護も必要ですね。

05 / RUN PYTHON

自分の手で動かそう

例題を選び、結果を予想してから「実行する」を押そう。値を変えると、どの行が結果を決めるか見えてくるよ。

例題を選ぶ

書き換えて試せます。Tabキーは半角スペース4つ分です。

count が3になったら条件が False になります。

この入力欄の使い方

コード内の input() に渡す値を1行ずつ書きます。input() がない例では空欄で大丈夫です。複数回呼ぶコードでは上から順に使います。

準備できました。

実行結果

実行すると、ここに結果を表示します。

Pythonは閲覧中の端末内で動作します。

AI先生からひとこと

『まだ?』を確かめてから、もう一度。 今日覚えた道具を、別の値でも試してみよう。自分で理由を説明できたら、とてもいい進歩なんだよ。