python学習⑥|for文 繰り返し処理

python学習⑥|for文 繰り返し処理

コンピューターの得意な作業はたくさんありますが、その中の一つで繰り返し処理があります。

繰り返し処理とは、同じ工程を複数回繰り返すことを繰り返し処理といいます。

例えば、商品の陳列などは、梱包された商品を、梱包された数量、所定の位置に並べるといった繰り返し処理といえるかもしれません。または、数量ではなく、毎日同じ相手に同じ内容のメールを送信するのも繰り返し処理といえるかもしれません。

覚えておくと便利な機能というか覚えるべき処理だと思います。今回は繰り返し処理について勉強しましょう。

繰り返し処理(for文)

pythonには「for文」という繰り返し処理を行うための構文が用意されています。

書き方は for 変数 in 繰り返し処理させたいデータ: です。

(例文)

seisan_list = [120, 100, 90]
for seisan in seisan_list:
    print('生産数は', seisan, 'です。')
print('以上です。')

上記のコードの解説
1行目 変数「seisan_list」にデータ[120, 100, 90]を代入
2行目 「for文」を使用し変数「seisan」に「seisan_list」を代入
3行目 「インデント」し、「print(‘生産数は’, seisan, ‘です。’)」を繰り返し範囲指定
4行目 繰り返し処理終わりの合図として「print(‘以上です’)」を表示させる。

3行目 「インデント」とは行頭に空白文字を入れることを「インデント」と呼びます。pythonでは半角英数の空白文字(スペース)を使用します。pythonの推奨は半角英数の空白文字(スペース)4個を推奨しています。
テキストエディタなどを使用している場合はスペース4個ではなく、「TAB」キーを一回押せば半角英数スペース4個分となっているものが多いのでそちらの方が簡単かもしれません。お好みでどうぞ。

実行結果↓

「seisan_list」の中にあるデータは3個なので3回、繰り返し処理しています。

リスト内の数値の合計と平均

次は、「seisan_list」の中にある数値データ(int型)の[120, 100, 90]の平均値を表示させようと思います。

平均点を出すためには「seisan_list」内の数値を合計し、データの個数で割る必要がありますね。

算数の式だと(120+100+90)÷3 = 103.333333……..となります。がこれをpythonのコードを使ってコンピューターにさせようと思うと下記の様なコードになります。

seisan_list = [120, 100, 90]
total = 0
for seisan in seisan_list:
    total = total + seisan
warukazu = len(seisan_list)
heikin = total / warukazu
print('合計生産数は{}、平均生産数は{}です。'.format(total, heikin))

上記のコードの解説

1行目 変数「seisan_list」にデータ[120, 100, 90]を代入
2行目 変数「total」に”0”を代入
3行目 「for文」を使用し変数「seisan」に「seisan_list」を代入
4行目 「インデント」し、繰り返し作業の範囲指定、変数「total」に「seisan_list」の値を一つづつ、代入していきます。
5行目 変数「warukazu」に、len()で取得した「seisan_list」の値の数量(今回は3)を代入
6行目 変数「heikin」に「total」/「warukazu」の商を代入
7行目 「print()」と「format」を使用し「seisan_list」の合計と平均値を表示

2行目 pythonでは「変数は何かが代入されているもの」なので何も代入せずに定義することはできません。
今回は繰り返し作業が「足し算」なので、変数「total」に”0”を代入して変数「total」を初期化しています。

初期化とは、初期の値を変数に代入しておく事をいいます。

実行結果↓

上記のコード内で使用している「len()」についてですが、「len()」関数「length(レングス)」の略です。機能はリスト内の「数値」であれば個数を「文字列」であれば文字の長さ(文字数)を、数値で返します。今回の場合は「数値」が3個なので
実行結果は、3です。※(「リスト」を使用した場合は「数値」でも「文字列」でも個数が返されます。)

 

for文で使える関数はまだほかにもあるので私の理解が深まったらご紹介します。

7行目で使用している「format()」関数に付きましても、私の理解がもう少し深まったらご紹介します。