今回は繰り返し処理の最後の章として多重ループについて解説します。if文でも多重構造となるネストについては解説しましたが、それに近しい内容になると思います。
多重ループとは
多重ループというのは要は繰り返し処理をネストさせたものになります。例えば3回繰り返すfor文があり、さらにその中に3回繰り返す処理があった場合は、1回ループが回るごとに3回繰り返す処理が実施されるので3×3で9回のループが行われます。
多重ループの構造にはfor文の中にfor文をと同じ文法で書くこともあればwhile文の中にfor文を書くこともできるので、特に構文を合わせなきゃいけないといったことはありません。

多重ループの書き方
それでは多重ループの書き方について確認します。if文の時とほとんど同じです。ブロックの中にブロックを記載する場合はインデントを2個分下げます。

多重ループの例
最後に多重ループの例を確認していきます。数値を扱った場合と文字列を扱った場合とでそれぞれ確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#九九を出力してみる for num in range(1,4): #1重目ループ print("■■■" + str(num) + "の段(×3まで)■■■") for num2 in range(1,4): #2重目ループ print(str(num) + " × " + str(num2) + " = " + str(num * num2)) #文字列が入った2次元リストを処理する。 duald_list = [["cat" , "dog" , "monky"], ["banana" , "apple" , "orange"], ["coffe" , "tea" , "beer"]] count = 1 for kind in duald_list: #1重目ループ if count == 1: print("動物の種類を見てみます") elif count == 2: print("果物の種類を見てみます") else: print("飲み物の種類を見てみます") for name in kind: #2重目ループ print(name) count += 1 |
数値の多重ループでは九九の段を表現しています。その段を処理するごとにループを回すので簡単に多重ループで表すことができます。
文字列の方では2次元リストを用いてそれぞれの中のリストを引っ張り出して出力しています。多重ループというとこういった多次元リストを処理することが多いのでループの流れはしっかりと把握しておきましょう。
いかがでしたでしょうか。多重ループについても非常によく使われるのでいろんなプログラムを考えてみて実装する力を身につけましょう。
今回はここまでです。
お疲れ様でした。
コメント