【Python】第2章第10回:条件分岐とループの組み合わせ例
Pythonでは、条件分岐(if文)とループ(for文、while文)を組み合わせることで、より柔軟な処理を実現できます。本記事では、基本的な組み合わせ方から応用例までを解説します。
0. 記事の概要
この記事を読むメリット
- 条件分岐とループの連携:複雑なロジックを簡潔に記述できるスキルを習得します。
- エラーを防止:実践的な例を通じて、条件分岐とループの正しい使い方を学べます。
- 応用力を向上:データ処理やアルゴリズム構築に役立つテクニックを習得できます。
この記事で学べること
- 条件分岐を組み合わせた基本的なループ処理
- ネストされた条件分岐とループの使い方
- 条件分岐とループを活用した実践例
1. 条件分岐とループの基本的な組み合わせ
1.1 基本的な構文
条件分岐とループを組み合わせることで、特定の条件に応じて繰り返し処理を実行できます。
# 条件分岐を伴うループ
for i in range(10):
if i % 2 == 0:
print(f"{i}は偶数です。")
動作解説
for i in range(10)
: 0から9までの整数を生成します。if i % 2 == 0
:i
が偶数の場合に条件を満たします。- 条件を満たす場合、
print
でメッセージを表示します。
1.2 ネストされた条件分岐とループ
ループ内に条件分岐を入れ子にすることで、複雑な処理を記述できます。
# ネストされた条件分岐とループ
for i in range(1, 11):
if i % 2 == 0:
if i % 3 == 0:
print(f"{i}は2と3の倍数です。")
動作解説
for i in range(1, 11)
: 1から10までの整数を生成します。if i % 2 == 0
:i
が偶数である場合に条件を満たします。- さらに、
if i % 3 == 0
で3の倍数かどうかを評価します。
2. 条件分岐を伴うループの応用例
2.1 条件に基づいたリストの作成
条件分岐を用いて、特定の条件を満たす要素のみを新しいリストに追加します。
# リスト内包表記を使用した条件分岐
filtered_list = [x for x in range(20) if x % 3 == 0]
print(filtered_list) # 出力: [0, 3, 6, 9, 12, 15, 18]
動作解説
x for x in range(20)
: 0から19までの整数を生成します。if x % 3 == 0
: 3の倍数のみをリストに追加します。
2.2 特定条件のカウント
特定の条件に一致する要素の数をカウントします。
# 特定条件のカウント
count = 0
for i in range(50):
if i % 5 == 0:
count += 1
print(f"5の倍数は{count}個です。")
動作解説
if i % 5 == 0
:i
が5の倍数の場合に条件を満たします。- 条件を満たすごとに
count
をインクリメントします。
3. 実践例:条件分岐とループを活用したプログラム
条件分岐とループを組み合わせて、素数を判定するプログラムを作成します。
# 素数を判定
for num in range(2, 20):
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num}は素数です。")
動作解説
for num in range(2, 20)
: 2から19までの整数を生成します。for i in range(2, num)
:num
の約数を確認します。- 割り切れる場合は
is_prime
をFalse
にし、ループを終了します。
4. 練習問題
以下の課題に挑戦してみましょう。
- 1から100までの整数の中で、3の倍数であり5の倍数でもある数値を表示してください。
- 入力されたリストから、奇数のみを抽出して新しいリストを作成してください。
5. 練習問題の解答と解説
問1の解答例
# 3の倍数かつ5の倍数
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print(i)
問2の解答例
# 奇数を抽出
input_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
odd_list = [x for x in input_list if x % 2 != 0]
print(odd_list) # 出力: [1, 3, 5, 7, 9]
6. まとめ
Pythonで条件分岐とループを組み合わせることで、効率的で柔軟なプログラムを構築できます。基本を押さえた上で、応用例にも挑戦してください。