クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

Pythonのforとwhileでくり返し

このレッスンのあとで: for と while を使って、同じ処理をくり返すことができる。

55分のレッスンコマンド5件毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

同じ処理を何度もさせる

ループとは、同じ処理を何度もくり返す仕組みです。Python では、回数が決まっているときは for、条件が続く間くり返すときは while を使います。

毎月1000円ずつ、12か月貯金すると、いくらたまるでしょう。同じ足し算を12回書くかわりに、ループに12回させます。

このレッスンのゴール

メモ

for と while を使って、同じ処理をくり返すことができる。

キーワード

ことばいみれい
ループ同じ処理をくり返す仕組み
range決まった範囲の整数を順に出すものrange(1, 6)
累積値を少しずつ足して、合計を育てること
breakループを途中で終わらせる命令
無限ループ終わらずに、くり返し続けるループ
入れ子ループの中に、別のループがあること

学生が入力するセルは、このプレビューでは空白です。

for は決まった回数くり返す

for i in range(3): と書くと、i に 0、1、2 が順に入り、下げた行が3回実行されます。

range(3) は 0 から始まり、3は含みません。range(1, 6) は 1 から 5 までです。終わりの数は、いつも含みません。

3回くり返して表示する

コマンド
python3 -c "for i in range(3): print(i)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

例: range が出す数

書き方出る数回数
range(3)0, 1, 23回
range(1, 6)1, 2, 3, 4, 55回
range(2, 10, 3)2, 5, 83回
range(5, 5)(なし)0回

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

「range(1, 5) は、1 から 5 までを出す」と考える人がいます。実際は 1 から 4 までです。終わりの数は含まれません。5 まで欲しいときは、range(1, 6) と書きます。

累積で、少しずつ合計を育てる

合計を出すには、先に total = 0 と置き、ループの中で total = total + n を実行します。右側の古い値に n を足して、同じ名前に入れ直します。

total = 0 を忘れると、足す元がなくてエラーになります。

例: 1から5を足すトレース表

くり返しntotal の古い値total の新しい値
1回目101
2回目213
3回目336
4回目4610
5回目51015

学生が入力するセルは、このプレビューでは空白です。

合計のプログラムを書き出す

コマンド
printf 'total = 0\nfor n in range(1, 6):\n    total = total + n\nprint(total)\n' > sum.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

実行して、表の最後の値と比べる

コマンド
python3 sum.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ループの中で if を使う

コード: python
# 1から10までに、偶数がいくつあるか数えます。
count = 0
for n in range(1, 11):
    if n % 2 == 0:
        count = count + 1
print("偶数の数:", count)
# range(1, 11) を range(1, 21) に変えて実行しましょう。

while は条件が続く間くり返す

while 条件: は、条件が True の間、下げた行をくり返します。回数が最初から決まっていないときに向いています。

条件がいつまでも True だと、無限ループになって終わりません。ループの中で、条件が変わるようにしてください。break を使うと、途中で抜けられます。

2倍にするプログラムを書き出す

コマンド
printf 'n = 1\nwhile n < 100:\n    n = n * 2\nprint(n)\n' > double.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

実行して、止まる数を確かめる

コマンド
python3 double.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ループの中のループ

コード: python
# 外側のループが行、内側のループが列です。
for row in range(1, 4):
    line = ""
    for column in range(1, 4):
        line = line + str(row * column) + " "
    print(line)
# range(1, 4) を range(1, 6) に変えて実行しましょう。

このラボとソースについて: 毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。