/*THK Analytics用解析タグ*/

【Python】for文

2022年8月12日

 

もう一つの繰り返し文であるfor文をご紹介します。
while文はfor文でも記述することも出来ます。

※一般的にfor文は繰り返し回数が決まっている場合に使用されます。

for文

for文例①

whileの項で作成したサンプルをfor文で書き直してみました。

base = int(input("基準となる数字を決めて下さい:"))
renzoku = int(input("足す回数を決めて下さい:"))
result = 0 #合算値
for count in range(renzoku):
result += base
print("合計値は{}です".format(result))

for count in range(renzoku) 行でループ条件を設定しています。
count変数がループ数を数えるカウンターです。
in range(renzoku)で0~renzokuを超えない範囲、renzoku-1までループすることを指示しています。

range関数の書式

range関数について説明します。
上の例ではその機能の一部を使っています。

range(stop)
range(start,stop[,step])

ちょっと難しいので解らない場合は、読み飛ばして頂いて結構です。
range関数は引数に指定した開始数から終了数までの連続した数値を要素として持つrange型のオブジェクトを作成します。
startからstepに指定した数を足していきstop未満の連続した数値を持つ要素をオブジェクトとして作成、stepを省略した場合はstep=1になります。またstartを省略するとstart=0、step=1として動作します。

for文例②

for文は配列のアクセスにも良く用いられます。
ある配列の合計値を求めるプログラムを作ってみましょう。

array = [1,11,44,23,67,89,11,12,58,99,74,200,64,9,1,68,84,38,31,39,39,8,81,20,30] #配列
result = 0;
for data in array:
result += data
print("合計値は{}です".format(result))

for data in array:の行で配列の要素数のループを指定しています。
1回目のループでは配列0が、2回目では配列1のようにループごとにdataには配列の内容が入ります。
したがってreslut+=dataの行でループごとに配列の結果を足しています。

このように配列へのアクセスはfor文を使うとより簡単に行うことができます

break

forやwhileループを途中で止めたいケースがあります。
例えば先ほどの例で最初に100を超える数字を見つけたら合計計算を止めるようなケースです。

array = [1,11,44,23,67,89,11,12,58,99,74,200,64,9,1,68,84,38,31,39,39,8,81,20,30] #配列
result = 0;
for data in array:
if data >= 100:
break
result += data
print("合計値は{}です".format(result))

if data >= 100:の行で配列の内容が100を超えているかチェックし、超えていたら次の行でbreak、ループから抜けています。

continue

今度は100を超える値のみ無視したいケースを考えてみましょう。
このような場合はcontinueを使います。

array = [1,11,44,23,67,89,11,12,58,99,74,200,64,9,1,68,84,38,31,39,39,8,81,20,30] #配列
result = 0;
for data in array:
if data >= 100:
continue
result += data
print("合計値は{}です".format(result))

先ほどのbreakの行をcontinueにしています。
continue文はその後ろの行の処理を飛ばして次のループに進みます。
本例では200の加算を飛ばしています。
今回はここまで。

お疲れ様でした。

python教室「総合目次」に戻る


 

 

Python教室

Posted by taka