繰り返し処理
for 文
今までに習ったことを使って、1 から 10 までの和を求めるプログラムを書いてみましょう。
これぐらいなら、簡単に書けます。
では、1 から 20 までの和はどうでしょう。
だんだん大変になってきました。
では、1 から 100 までの和ならどうでしょう。
一応作ることはできますが、時間がかかりますし、打ち間違いをする可能性も高くなってきます。もう少し良い方法を考えなければなりません。
ここで for 文の出番です。for 文は、繰り返し処理を簡単に書くことができます。1 から 100 までの和を for 文を用いて求めるプログラムを見てみましょう。※この後、詳しく説明します。
for 文を用いると、このように簡単に書くことができます。また、問題が少し変わっても、すぐにそれに合わせたプログラムを作ることができ拡張性があります。例えば、1 から 1000 の和はこのプログラムの 101
を 1001
にするだけで簡単に作ることができます。※この後、詳しく説明します。
sum += i
は、sum = sum + i
と同じ意味です。累算代入演算子と呼ばれます。
次のように、様々なものがあります。
演算子 | 例 | 説明 |
---|---|---|
+= | a += b | a = a + b と同じ |
-= | a -= b | a = a - b と同じ |
*= | a *= b | a = a * b と同じ |
/= | a /= b | a = a / b と同じ |
for 文の構文は次のようになっています。
for 変数名 in range(開始値, 終端値):
任意の処理
for 文についてよりよく理解するため 1 から 10 までを出力するプログラムを見てみましょう。
for 文の中の処理が繰り返し行われています。for 文に指定した変数(ここでは i
)に、1 回目の処理では 1 が、2 回目の処理では 2 が、…、10 回目の処理では 10 が入っています。つまり、数学的に書けば、i
には、開始値を 、終端値を とすると となるような整数が順番に入っていることになります。
for 文は同じ処理をただ繰り返したいときにも用いることができます。
練習問題 1
から までの和を求める関数を作って、実際に 1 から 10 までの和を求めてみましょう。
練習問題 2
の階乗を求める関数を作って、実際に 10 の階乗を求めてみましょう。