更新: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
解答の手順:
for
ループを使ってリストの要素を1つずつ取り出す。- 取り出した要素を2倍にして出力する。
解答:
numbers = [3, 5, 7, 9]
for number in numbers:
print(number * 2)
2.2. 例題2:シグマ
次の計算を求めるプログラムを作成してください。
$$\sum^{100}_{k=1} k$$
期待される出力:
5050
解答の手順:
- 変数
total
を0で初期化する。 for
ループを使って1から100までの整数を順に取り出す。- 各整数を
total
に加算する。 - 最終的な合計を
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本です。
解答の手順:
for
ループを使用してリストages
の各要素にアクセスします。- 各木の年齢が10以上かをチェックします。
- 条件を満たす木の数をカウントし、結果を出力します。
解答:
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回
解答の手順:
- 空の辞書を作成し、動物の名前をキーとして、その出現回数を値として保持します。
for
ループを使ってリストfootprints
の各動物にアクセスし、その動物の出現回数をカウントします。- 最後に結果を出力します。
解答:
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の魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!
PR