Python3メモ⑦(ループ)

Pythonにはwhileとforの2つのループがあります(do~whileはありません)。
特徴の一つに、両方ともループにelseがつけられることです(ループの最後に実行するブロック)。
また、Pythonのforは、CやJavaのfor文というよりも、PHPでのforeachに近いです。

while

while は「条件文が真のあいだ」処理が繰り返されます。

1
2
3
4
5
6
7
8
9
10

上の条件は「iが10以下のあいだ」処理が繰り返されます。

break

1
2
3
4

breakを使えば「条件文が真のあいだ」でも途中でループを抜けます。

continue

1
3
5
7
9

continueは、continue以降の処理をスキップ(途中を抜かして先へ進む)する時に使います。
if i % 2 ==0:は、2で割った余りが0ならば(=偶数ならば)以降の処理(print(i))を飛ばしていますので、奇数のみprintされます。

こういうwhileループも

例えば下のようなコードで、整数以外を入力するとエラーになります。

これを、整数を入力するまで繰り返すコードにするとこうなります。
try-exceptを使った例外処理を使っています。
※エラーと例外参照
https://docs.python.org/ja/3/tutorial/errors.html

while True で無限ループします。どこかでbreakを入れないと回り続けますので注意して下さい。

for

forはいわゆるコレクション型、Pythonで言うならリスト型、タプル型、辞書型(複数個のデータが一つの変数になっているデータの集まり。後述します)などをループします。
breakもcontinueも当然使えます。

下の例はrange関数で0~9まで10個の整数を返します(range型)。

0
1
2
3
4
5
6
7
8
9

range

range型をリスト型にキャストして表示してみます。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 5, 10, 15, 20, 25]

range([始まりの整数,] 最後の整数+1[, 増加する量])
[]内は省略可能です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする