繰返し(for 文)

同じ操作を繰り返すときに用います。たとえば、 1から100まで加えるといくらになるか?というときには、

 

a = 0

for i in range(1,101): #必ず「:」を付けます。

    a += i  

print(a)

 

のように書きます。a = 0 は、変数 a に最初に 0 を入れます。初期化と言います。

次の for i in range(1,101): が、for文です。range(1,101)は、range(1,101,1)の略で、1より101一つ手前(100)までのリストを [1,2,3, ...99.100] 生成します。

for 文は、これをひとつづつ取り出して 変数 i にいれて繰り返せ!という命令にになります。

 

for i in [1,2,3, ... 99,100]: と書いたことと同じです。ただし「...」のところは、すべての数字を書かなくてはいけません。

 

    a += i

 

は、for が始まる位置より、右に4文字ずらしています(1文字でもいいのですが、pythonでは4文字が推奨されています)。このずらすことをインデント(indent)すると言います。for 文は、インデントされた範囲の行を繰り返します。

 

 また、 a += i は、+= は、 a に i を足して、もう一度 a に入れるという記号です。a = a + i と書いても同じになります。

 

 多くのプログラミング言語は、繰返しの初めと終わりを { } のように囲って分かるようにしますが、pythonはインデントの終わりが繰返しの終わりです。ですので、最後の行の print(a) は、一度だけ実行され、一行 5050 が表示されるだけです。

 

 2から 100 までの偶数を足すといくらになるか?は、rangeのところを、 range(2,101,2) とすると、求まります。

 


繰り返し(while文)

for文と同じ、1から100までの数字を加えるには次のようにします。

 

i = 1

a = 0

while i < 101:  #必ず「:」を付けます。

    a += i

    i += 1

print(a)

 

i は最初 1 とします。while文の中で 101 より小さい間 1 ずつ加えます。iが101になったらi<101でなくなりますから、繰り返しは終わります。

a については、For文と同じです。

iが整数の場合は For文が分かりやすいです。While文は i<101 のように整数でなくても、t < 1/2 のような場合もO.K.です。