01 / 07
くり返しとデータの持ち方
INPUT · スライド
ループの中のループ
02 / 07
形と動き
内側の for は、もう4つ下げて書く。if を入れ子にしたときと同じだね。
下の例を目で追ってみよう。i が 0 のあいだに j が 0 1 2 と最後までまわる。それから i が 1 になって、j はまた 0 からやり直すよ。
for i in range(2): for j in range(3): print(i, j)実行結果
0 0 0 1 0 2 1 0 1 1 1 2
03 / 07
回数はかけ算になる
ここがいちばん大事なところ。外側が1回進むあいだに、内側は最後まで1周する。
外が2回・内が3回なら、いちばん内側が動く回数は 2 * 3 で6回。回数はかけ算と覚えよう。
外が10回・内が10回なら100回。入れ子は回数が一気にふくらむので、表示する量には気をつけてね。
04 / 07
九九を作ってみる
「たてとよこ」の代表がかけ算の表だよ。外側で段を、内側で何をかけるかをまわす。
2の段と3の段だけを出すとこうなる。段のほうを range(2, 4) で決めているのがポイントだよ。
for i in range(2, 4): for j in range(1, 4): print(f"{i}かける{j}は{i * j}")実行結果
2かける1は2 2かける2は4 2かける3は6 3かける1は3 3かける2は6 3かける3は9
05 / 07
マス目を作る
1行ぶんの文字を内側で組み立てて、外側で表示する。この形で四角いマス目が作れるよ。
gyou を空にしているのが外側のくり返しの中だというのがポイント。ここを外に出してしまうと、前の行の文字が残ったまま伸び続けてしまうんだ。
for tate in range(3): gyou = "" for yoko in range(4): gyou += "■" print(gyou)実行結果
■■■■ ■■■■ ■■■■
06 / 07
リストどうしの組み合わせ
in のうしろは range でなくてもいい。リストとリストを組み合わせると、ありえるパターンを全部出せるよ。
色が2つ、サイズが2つなら組み合わせは4通り。ここでも回数はかけ算だね。
for iro in ["あか", "あお"]: for size in ["S", "M"]: print(iro, size)実行結果
あか S あか M あお S あお M
07 / 07
深くしすぎない
入れ子は3段、4段とさらに深くもできる。でも深くなるほど読めなくなるし、回数もふくらむ。
目安は2段まで。3段ほしくなったら、たいていは書きかたを変えられるサインだよ。関数やリストの道具を覚えると、その手が増えていく。
これでくり返しの道具はひととおりそろった。次のグループでは、リストをもっと自由に扱う方法を見ていこう。