第4章 Pythonのループ処理(for)を使ってみよう

この章では、いよいよ「ループ処理」を使っていこうと思います! 

目次

1.ループ処理って何?

「ループ処理」とは、その名の通り繰り返し同じ作業をおこなう方法です。ループ処理は、実際に動かしてみた方が分かりやすいと思うので、さっそくコードを書いていきましょう! 

2.ループ処理を使ってみよう

まずは下のコードを「spyder」に入力し、実行してみてください。「spyder」の使い方を忘れてしまった人は、3章でおさらいしましょう!(もちろん、spyder以外で実行できる方はそちらで構いません。)

for i in range(5):
    print(i)

すると、順番に「0」、「1」、「2」、「3」、「4」と出力されたと思います。一行ずつ、詳しく説明していきますね。

まず、一行目の

for i in range(5):

では、iという変数に5つの数字(0~4)を順番に入れて処理をおこなうという意味になります。Pythonのループの書き方は、for 変数 in 〇〇:」という書き方になります。最後の「:」を忘れないように!!

ここの「for」「in」は固定で、「変数」は3章で説明したように好きな名前を付けてもらって構いません。(今回は「i」)

そして、最後の「range(5)」は、5つの数字(0~4)という意味になります。3章の「list」の時にも説明しましたが、Pythonの数字は0から始まるというルールがあるため、5つの数字となると、0~4になります。

 

次に、二行目の説明です。気づいた方もいらっしゃると思いますが、一行目に比べ、二行目が少し右にありますね。これは、Pythonでループ処理を行う上で重要なところで、forのループ処理は、forの後ろで、右に動いている行に適応されるというルールがあるからです。

ちなみに、この行が右に動いていることを「インデント」といい、「Tabキー」を押すことでインデントすることができます!

ここまで分かれば、あとは簡単ですね!print(i)では、変数「i」に順番に入った(0~4)を出力しています。これにより、「0」、「1」、「2」、「3」、「4」が出力されたわけですね!

 

ここで、今回のループ処理の形をもう一度おさらいしましょう!ループ処理のイメージは以下のようになります。

 

3.ループ処理の範囲

次に、ループ処理の範囲についてです。先ほど、ループ処理は「forの後のインデントされた行に適応される」と解説しましたね。これについて、実際にコードを動かしながら確認していきましょう!

以下のコードを実行してみてください。

for i in range(5):
    print(i)
print('Hello World')

すると、「0」、「1」、「2」、「3」、「4」、「Hello World」と出力されたと思います。このように、forループは、インデントされた行までを繰り返して処理し、それが終わった後に次の行が実行されます。

図にすると以下のようなイメージですね。

 

4.rangeによるループ処理の応用

Pythonのループ処理において、rangeを用いると繰り返したい数を容易に決めることができるため、非常に便利です。

しかし、変数に入る数字を0以外からにしたい場合もあると思いますので、それについて解説します。

では、下のコードを実行してみましょう。

for i in range(1,5):
    print(i)

すると、「1」、「2」、「3」、「4」と出力されたと思います。これは、rangeの特性で、以下のように数字を設定することができます。

1つ目の数字は分かりやすいと思いますが、問題は2つ目数字です。2つ目はその数字までの、0からの個数を表しているため、実際に表示される数字は2つ目の数字より1つ小さい数字になります。

ここは、難しく考え始めるとよくわからなくなりますが、要はrange(数字)の時と同じと考えてください!ただし、その前に「数字,」を付けることで始まりの数字を決めることができる、と理解するとよいと思います。

 

5.listを用いたループ処理

最後に、「range」の代わりに、3章で学んだ「list」を用いたループ処理について解説したいと思います。まずは、以下のコードを実行してみてください。

name = ['Work','Life','enjoy',3]
for i in name:
    print(i)

すると、「Work」、「Life」、「enjoy」、「3」と出力されたと思います。これは、nameという変数に入っている要素を順番に「i」に入れて処理をするというコードになります。

このように、forでのループ処理の時は、「list」を使うことで好きな文字や数字を変数に入れながらループ処理が行えます。

ちなみに、先ほどの出力結果は3章で解説した以下のコードと同じ結果ですね。このように、ループ処理と「list」を使うことで、より短くわかりやすいコードで処理を行うことができます!

name = ['Work','Life','enjoy',3]
print(name[0])
print(name[1])
print(name[2])
print(name[3])

6.まとめ

今回は、「for」を用いたループ処理について解説しました。ループ処理の方法は他にもあるのですが、まずはこの「for」を用いたループが使えれば、やりたいことは大体できます!

そして、ループ処理を行う際の「range」と「list」の使い分けですが、

  • 連続した数字を扱ったり、ループの回数を指定したい場合 = range
  • 好きな文字や数字を用いてループをさせたい場合 = list

と使い分けると良いと思います。次の章では、「if」を用いた条件分岐について解説したいと思います。

「変数」、「ループ処理(for)」、「条件分岐(if)」の3つが使えるようになると、簡単なデータ処理などは全て自動化できるようになりますので、頑張って勉強していきましょう!

 

また、このサイトでは初心者の方向けに「プログラミングのお勧め学習法」も紹介していますので、気になった方はそちらもご覧いただけると幸いです。

 

>>前回:第3章 Pythonの変数を使ってみよう

>>次回:第5章 Pythonの条件分岐(if)を使ってみよう

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

このブログを運営している人

非エンジニア職の社会人です。
業務の単純作業が苦手で、何とかしたいと思いプログラミングを習得しました。
このサイトが同じ悩みを抱える人の助けになれば良いなと考えています。

コメント

コメントする

目次