この章では、いよいよ「ループ処理」を使っていこうと思います!
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つが使えるようになると、簡単なデータ処理などは全て自動化できるようになりますので、頑張って勉強していきましょう!
また、このサイトでは初心者の方向けに「プログラミングのお勧め学習法」も紹介していますので、気になった方はそちらもご覧いただけると幸いです。
コメント