同じ操作を繰り返すときに用います。たとえば、 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) とすると、求まります。
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.です。
あなたもジンドゥーで無料ホームページを。 無料新規登録は https://jp.jimdo.com から