Menu
Coddy logo textTech

ネストしたループ

CoddyのPythonジャーニー「Fundamentals」セクションの一部 — レッスン 41/77。

二重ループ(ネストされたループ)は、別のループの中にあるループのことです。内側のループは、外側のループの各反復に対して、そのすべての反復を完了します。

まずは、概念を理解するためにシンプルな二重ループから始めましょう:

# 外側のループ
for i in range(3):
    print(f"Outer loop iteration: {i}")
    
    # 内側のループ
    for j in range(2):
        print(f"  Inner loop iteration: {j}")

このコードを実行すると、次のように表示されます:

Outer loop iteration: 0
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 1
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 2
  Inner loop iteration: 0
  Inner loop iteration: 1

外側のループの各反復において、内側のループはそのすべての反復を完了することに注目してください。

それでは、実践的な例として、簡単なパターンを表示してみましょう:

# 2x3の星の長方形を表示する
for row in range(2):  # 2行
    line = ""
    for col in range(3):  # 3列
        line += "*"
    print(line)

# 出力:
# ***
# ***

外側のループは印刷する行数を制御し、内側のループは星を追加することで各行を構築します。

challenge icon

チャレンジ

簡単

入れ子になったループ(二重ループ)を使用して、星(*)で長方形のパターンを出力するコードを記述してください。

プログラムの要件:

  1. 2つの整数 rowscols を読み取ります。
  2. 入れ子になったループ構造を使用してパターンを出力します。
  3. 外側のループで各行を繰り返します。
  4. 内側のループで、正しい数の星を含む各行を構築します。
  5. 完成した各行を出力します。

例:入力が 3 行 4 列の場合、出力は以下のようになります:

****
****
****

チートシート

入れ子になったループ(ネストされたループ)は、他のループの中にあるループのことです:

for x in range(2):
    for y in range(2):
        print(x, y)

# 出力:
# 0 0
# 0 1
# 1 0
# 1 1

内側のループは、外側のループの各イテレーション(反復)ごとにすべてのイテレーションを完了します。これは、時計の分針が1時間ごとに1周するのと似ています。

自分で試してみよう

# 行と列の入力を取得する
rows = int(input())
cols = int(input())

# ここにネストされたループを記述します
# 行のための外側のループ
# 列のための内側のループ
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン