PR
更新:2024/10/12

【Python】forループの使い方・具体例・例題について

はるか
はるか
Pythonのforループって、どう思う?
ふゅか
ふゅか
forループは、特にリストやタプルを扱うときに便利よ!一つずつ順番に処理できるのがポイントなの♪

1. forループ

Pythonの for ループは、シーケンス(リスト、タプル、文字列など)の要素を1つずつ順番に取り出して繰り返し処理を行うために使われます。for ループは指定された反復可能オブジェクト(イテラブル)のすべての要素を処理するまで続きます。

1.1. 基本的な構文

Pythonの for ループの構文は次の通りです。

for 変数 in イテラブルオブジェクト:
    実行したい処理

ここでのポイントは次の通りです。

  • 変数 は、イテラブルオブジェクトから順に値を取り出して、一時的に保持するための変数です。
  • イテラブルオブジェクト には、リスト、タプル、文字列、辞書など、繰り返し処理が可能なオブジェクトが指定されます。
  • 実行したい処理 には、ループ内で繰り返し実行したい処理を記述します。

1.2. リストの要素を1つずつ処理

次の例では、リストの要素を順番に出力しています。

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

出力:

apple
banana
cherry

1.3. range関数と組み合わせたforループ

range() 関数は、指定した範囲の数値を生成するために使います。これにより、特定の回数だけ繰り返し処理を行う場合にも便利です。

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

出力:

0
1
2
3
4
ふゅか
ふゅか
range関数とforループの組み合わせもよく使うのよね。指定した範囲の数を生成できるの!
はるか
はるか
数値を繰り返す場合、便利。for i in range(5)なら、0から4まで。

1.4. 文字列を使ったforループ

for ループは文字列にも使うことができ、文字列の各文字を1つずつ処理できます。

for char in "Python":
    print(char)

出力:

P
y
t
h
o
n

1.5. ネストされたforループ

for ループはネストさせることも可能です。次の例では、2つのリストの要素を組み合わせて出力しています。

colors = ['red', 'green', 'blue']
items = ['pen', 'pencil', 'eraser']

for color in colors:
    for item in items:
        print(color, item)

出力:

red pen
red pencil
red eraser
green pen
green pencil
green eraser
blue pen
blue pencil
blue eraser

1.6. 辞書を使ったforループ

辞書(dict)ではキーと値のペアを使って繰り返し処理ができます。

ふゅか
ふゅか
辞書を使ったforループもできる!キーと値をペアで繰り返し処理することができるよ!
はるか
はるか
生徒の名前とスコアを一緒に出力するプログラムを書く。
student_scores = {'Alice': 85, 'Bob': 90, 'Charlie': 78}

for name, score in student_scores.items():
    print(f'{name}: {score}')

出力:

Alice: 85
Bob: 90
Charlie: 78

1.7. break文とcontinue文

break はループを強制終了し、ループから抜け出すために使います。continue は、現在のループの反復を終了し、次の反復に移ります。

for i in range(5):
    if i == 3:
        break
    print(i)

出力:

0
1
2
for i in range(5):
    if i == 3:
        continue
    print(i)

出力:

0
1
2
4

2. 例題

2.1. 例題1:要素ごとの計算

リスト[3, 5, 7, 9]にある要素を2倍にして出力するプログラムを作成してください。

期待される出力:

6
10
14
18

解答の手順:

  1. forループを使ってリストの要素を1つずつ取り出す。
  2. 取り出した要素を2倍にして出力する。

解答:

numbers = [3, 5, 7, 9]
for number in numbers:
    print(number * 2)

2.2. 例題2:シグマ

次の計算を求めるプログラムを作成してください。

$$\sum^{100}_{k=1} k$$

期待される出力:

5050

解答の手順:

  1. 変数totalを0で初期化する。
  2. forループを使って1から100までの整数を順に取り出す。
  3. 各整数をtotalに加算する。
  4. 最終的な合計をprintで出力する。

解答:

total = 0
for i in range(1, 101):
    total += i
print(total)

2.3. 例題3:カウント

森の中には、樹齢が異なる木々が10本あります。リスト ages = [10, 5, 20, 15, 7, 30, 25, 12, 17, 9] を使用して、樹齢が10年以上の木の本数を数えてください。

期待される出力:

樹齢が10年以上の木は7本です。

解答の手順:

  1. for ループを使用してリスト ages の各要素にアクセスします。
  2. 各木の年齢が10以上かをチェックします。
  3. 条件を満たす木の数をカウントし、結果を出力します。

解答:

ages = [10, 5, 20, 15, 7, 30, 25, 12, 17, 9]
count = 0

for age in ages:
    if age >= 10:
        count += 1

print(f"樹齢が10年以上の木は{count}本です。")

2.4. 例題4:出現回数

森の中で動物の足跡を発見しました。足跡のリスト footprints = ["クマ", "シカ", "ウサギ", "シカ", "クマ", "キツネ", "ウサギ"] があります。それぞれの動物が何回出現したかを数えてください。

期待される出力:

クマ: 2回
シカ: 2回
ウサギ: 2回
キツネ: 1回

解答の手順:

  1. 空の辞書を作成し、動物の名前をキーとして、その出現回数を値として保持します。
  2. for ループを使ってリスト footprints の各動物にアクセスし、その動物の出現回数をカウントします。
  3. 最後に結果を出力します。

解答:

footprints = ["クマ", "シカ", "ウサギ", "シカ", "クマ", "キツネ", "ウサギ"]
count_dict = {}

for animal in footprints:
    if animal in count_dict:
        count_dict[animal] += 1
    else:
        count_dict[animal] = 1

for animal, count in count_dict.items():
    print(f"{animal}: {count}回")


check

Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!

Pythonの記事のまとめ

PR