【Python】繰り返し処理「for文」の動作と使い方

Pythonのプログラミングの中で、同じことを繰り返す処理があります。
以下ではfor文を使った繰り返し処理について説明します。

【Python】プログラミングの繰り返し処理「for文」について

プログラミングの繰り返し処理は、「複数のデータに対して同じ処理を繰り返し処理する」ことをいいます。
繰り返し処理の例としては以下が挙げられます。

  • メーリングリストのユーザー全てにメールを送付する
  • 買い物カゴの商品全ての合計金額を出す
  • クラス全員分の平均点を出す

for文の書き方

for文では「in」の後に「繰り返し処理の対象となるデータ群」を配置します。
このデータ群は、「リスト」や「タプル」のデータ、文字列のことを言います。

このデータ群が、左から一つずつ順番にinの前の変数へ代入され、その後、「変数で実行処理」されます。
最後のデータが処理にかけられるまで、for文は繰り返し、処理を続けます。

以下がfor文の書き方となります。

test_list = [1, 2, 3, 4, 5]


①  ②  ③    ④
for test in test_list:
____変数を使った実行処理
  1. forキーワード
  2. 変数
  3. inキーワード
  4. 繰り返し処理するデータ群

forキーワードはfor文の開始を定義します。
その後の繰り返しで実行する初をまでを含めてfor文となります。

for文はデータを一つずつ順番に処理をする

for文はリストに格納されたデータを一つずつ処理していきます。
以下のfor文のプログラムでは「number_list」の0番目である「100」がnumber変数に代入されます。
次に、「print(‘数値は’, number, ‘です。’)」と言う処理が実行されます。

number_listの最後の「300」が代入されるまでfor文内のprint()処理を繰り返します。

number_list = [100, 200, 300]
for number in number_list:
    print('数値は', number, 'です。')
print('繰り返し終了')

実行結果

$ python3 for_test_2.py 
数値は 100 です。
数値は 200 です。
数値は 300 です。
繰り返し終了
$

【for文】テストの平均点を出力するプログラム

以下では「for文」を使ったテストの平均点を出力するプログラムを作成します。

まずは、「test_for.py」と言うファイルを作成します。
プログラムは以下となります。

test_list = [65, 86, 98, 77, 75]         ①
total = 0                      ②
for test in test_list:
    total = total + test             ③
number_of_subjects = len(test_list)       ④
average = total / number_of_subjects      ⑤
print('合計点は{},平均点は{}です。'.format(total, average))  ⑥
  1. リストを作成
  2. 合計点数を計算するため、0を代入して初期化
  3. test変数で点数を足していく
  4. len()関数により、「test_list」の値の個数を取得 ※ここでは「5」つ
  5. 合計点を全体の個数で割り、平均点を出す
  6. 合計点と、平均点の結果を出力

実行結果

$ python3 「test_for.py
合計点は401,平均点は80.2です。

for文は何かと使うことが多いので、頭にしっかり入れておきましょう。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!