リストのような複数の要素をまとめたものに対して同じような処理を何度も繰り返し行いたいときがあります。そのようなときに使用するのが「for文」です。

for文を使用する

Pythonでfor文を使用するにはfor、変数、in、リストなど、コロン「:」を使い繰り返し処理したい要素を準備し、その一つ下の行にインデントをして繰り返したい処理のコードを書きます。インデントとは字下げのことです。字下げの方法はTabキーを使うか半角スペースを使いますが、Pythonでは半角スペース二つまたは四つを使うことが多いです。なお、半角スペース四つでインデントした後、半角スペース二つでインデントするなどインデントを合わせないで記述するとエラーになりますので、インデントの仕方は統一しましょう。なので例としてfor文は、

for 変数 in リストなど:
    コード


の形式で記述します。この例ではインデントは半角スペース四つで行っています。GoogleColaboratoryではコロンの後に改行すると自動的にインデントしてくれる機能があります。初期設定では半角スペース2つでインデントしてくれます。また、インデントしてある行で改行すると同じインデントをした状態で改行してくれます。これらの機能をうまく活用しましょう。
では、実際にやってみましょう。
GoogleColaboratoryを開いて新しいノートブックを開き

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
  print(fruit)

と入力し実行してみましょう。すると結果は

apple
banana
cherry

と表示されます。これは一行目で変数fruitsに3つの要素が入ったリストを代入し、二行目、三行目でfor文による繰り返し処理を行っています。変数fruitにリストfruitsの要素を順番に一つずつ代入しています。そして変数fruitを出力するという処理をリストの要素の回数分行っています。

他にもfor文を使っていろいろとやってみましょう。
複数の数字のデータを入れたリストを作りそのリストの合計を出してみましょう。

numbers = [1, 2, 3, 4, 5]
sum_num = 0
for num in numbers:
  sum_num += num

print(f"numbersの合計:{sum_num}")

とセルに入力して実行してみましょう。すると結果は

numbersの合計:15

と表示されます。このコードはまず一行目でリストを作り、二行目でリストの合計を保存するための変数sum_numを定義します。そして三、四行目でfor文で繰り返し処理をしています。この時の処理はリストnumbersの要素を順番に一つずつ代入した変数numを変数sum_numに足して代入をしています。そしてリストの要素数分繰り返し処理を行ったらfor文から抜けて6行目の文字列を出力します。今回はリストの要素1,2,3,4,5を足した数値15がsum_numに代入されているので出力はnumbersの合計:15になります。

次はrange型を利用したfor文を試してみます。range型はfor文の繰り返し回数を指定するときなどに使います。for文でrange型を使うときは例として、

for 変数 in range(最初の数字,停止の数字,増減の間隔):
    コード

のように記述します。rangeの直後に括弧「()」、括弧の中にカンマ区切りで最初の数字、停止の数字、増減の間隔を指定して使います。なお、最初の数字と増減の間隔は省略することも可能です。省略した場合最初の数字は0、増減の間隔は1と入力された状態として扱われます。では、実際にやってみましょう。

for i in range(5):
  print(f"数字は{i}です")

とセルに入力して実行してみましょう。すると結果は

数字は0です
数字は1です
数字は2です
数字は3です
数字は4です

と表示されます。range型を利用して変数iに最初は0を代入し、4になるまで1ずつ増加させるというのを繰り返しています。なので繰り返し処理は5回行われています。この処理からわかるようにrange型は停止の数字の手前までの数字を返してくれるのでもしも変数iに5まで代入してほしい場合は停止の数字を6に指定しましょう。

では次は最初の数字を1、停止の数字を6、増減の間隔を1と指定してやってみましょう。

for i in range(1,6,1):
  print(f"{i}回目のループ")

とセルに入力して実行してみましょう。すると結果は

1回目のループ
2回目のループ
3回目のループ
4回目のループ
5回目のループ

と表示されます。

先ほどのコードとは違い変数iに最初に代入される数字が1、そして数字が5になるまで1ずつ増加していますね。こちらのコードも繰り返し処理は5回行われていますが、数字を指定したので1から始まり5で終わっています。

次は増減の間隔を2にしてやってみましょう。

for i in range(0,10,2):
  print(f"数字は{i}です")

とセルに入力して実行してみましょう。すると結果は

数字は0です
数字は2です
数字は4です
数字は6です
数字は8です

と表示されます。こちらのコードでは増減の間隔を2にしたので0から8まで2ずつ増加しています。

次は増減の間隔に負の数を指定してみましょう。負の数を指定すると最初の数字から停止の数字の手前まで繰り返し減っていきます。実際にやってみましょう。

for i in range(10,-1,-1):
  print(f"数字は{i}です")

とセルに入力して実行してみましょう。すると結果は

数字は10です
数字は9です
数字は8です
数字は7です
数字は6です
数字は5です
数字は4です
数字は3です
数字は2です
数字は1です
数字は0です

と表示されます。これは最初の数字10から停止の数字-1の手前の0まで1ずつ繰り返して減少しています。

open-in-colab

今回はこれで終了です。今回のサンプルを用意したので、もし必要な場合は上の「Open in Colab」と書いてあるボタンをクリックしてください。なおそのままだと編集不可なので編集をしたい場合は「ドライブにコピー」をクリックしてコピーしてください。
なおGoogleColaboratoryについてわからなかったらGoogleColaboratoryを使ってみよう_導入編をご覧ください。

コメントを残す

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

CAPTCHA