【Python入門】5章のまとめ

 ここでは、5章で扱った内容を振り返り、条件分岐や繰り返し処理など、Pythonの基本的な制御構文について整理します。条件分岐では、if/elif/else や三項演算子による分岐処理、複雑な条件式の組み合わせ方などを学びました。また、繰り返しでは、for/while 文の使い方を中心に、breakcontinue などによるループ制御方法を確認しました。ここでは、各トピックを解説し、最後にまとめを行います。

1.条件分岐

 Pythonにおける条件分岐は、プログラムの流れを分けるために非常に重要です。ifelifelse を適切に組み合わせることで、複雑な処理をわかりやすく記述できます。

1.1. if文

if 文は、指定した条件式が真(True)である場合のみブロック内の処理を実行します。

if x > 0:
    print("xは正の数です")
構文説明
if <条件式>:条件式がTrueの場合のみ以下のブロックを実行

1.2. if文で複数の文を実行する

 if 文のブロックには複数行の処理を書けます。インデントを揃えて並べることで、条件が True のときにそれらすべてが実行されます。

if x > 0:
    print("xは正の数です")
    x = x + 10
    print("xに10加算しました")

1.3. else節

if の条件に合致しない場合の処理を定義します。

if x > 0:
    print("xは正の数です")
else:
    print("xは0か負の数です")

1.4. elif節を伴うif文

複数の条件分岐がある場合は、elif を使うことでスッキリと記述できます。

if score >= 80:
    print("合格です")
elif 50 <= score < 80:
    print("追試です")
else:
    print("不合格です")

1.5. 三項演算子

 短い条件分岐を1行で書く場合に便利です。条件式がTrue のときの値 if 条件式 else 条件式がFalse のときの値、という形式で書きます。

result = "大人" if age >= 20 else "未成年"

1.6. 複雑な条件式

 条件式を論理演算子(and, or, not)で組み合わせることで、複雑な分岐を表現できます。

if (x > 0 and x % 2 == 0) or x == 100:
    print("条件を満たしました")

2.キーボード入力

 実行時にユーザから値を受け取り、それを使って分岐処理や繰り返し処理を行うことが多々あります。

2.1. input文

 input() 関数を使うと、コンソールから入力された文字列を取得できます。取得されるのは文字列型なので、数値計算などに使う場合は型変換が必要です。

user_input = input("値を入力してください: ")
number = int(user_input)
print(f"入力された値は {number} です")

3.for文による繰り返し

 for 文は、指定したイテラブル(リスト・タプル・文字列など)の要素を順番に取り出して処理を行うときに使います。

3.1. for文とアンパッキング

 タプルやリストなどの要素を展開しながらループを回すとき、複数の変数に同時に代入して処理できます。

pairs = [("Taro", 20), ("Jiro", 25)]
for name, age in pairs:
    print(name, age)

3.2. range関数を用いたfor文

 range() は連続した整数のシーケンスを生成します。for 文と組み合わせて、指定回数ループを回す場合に便利です。

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

3.3. for文のネスト

 for 文の中に for 文を入れ子で書くことを指します。多次元リストの処理などでよく使われます。

matrix = [[1, 2], [3, 4]]
for row in matrix:
    for value in row:
        print(value)

3.4. for文とenumerate関数の組み合わせ

enumerate() を使うと、インデックス(番号)と要素を同時に取り出せるので便利です。

fruits = ["apple", "banana", "cherry"]
for i, fruit in enumerate(fruits):
    print(i, fruit)

3.5. 逆順に繰り返すreversed関数

reversed() はシーケンスを逆順で取り出します。

numbers = [1, 2, 3, 4, 5]
for n in reversed(numbers):
    print(n)

4.while文によるループ

 条件式が True の間、繰り返し実行を続ける構文です。ループ回数が決まっていないときなどに利用します。

4.1. 基本構文

count = 0
while count < 3:
    print(count)
    count += 1

4.2. 次の繰り返しに進めるcontinue文

continue は、その時点の処理をスキップし、次の繰り返しへ進みます。

for i in range(5):
    if i == 2:
        continue
    print(i)  # iが2のときはこの行が実行されない

4.3. 繰り返しを中断するbreak文

break は、ループを完全に抜けるときに使います。

or i in range(5):
    if i == 3:
        break
    print(i)  # iが3でループを抜ける

4.4. while文やfor文のelse節

 whileforelse 節を組み合わせると、ループが「途中で break されずに最後まで実行されたとき」に限り実行されます。

for i in range(3):
    print(i)
else:
    print("ループをすべて回りました")

4.5. 無限ループを抜けるbreak文

 while True: のように、あえて無限ループを作っておき、ある条件を満たしたら break で抜けるというパターンもよく使われます。

while True:
    command = input("コマンドを入力してください: ")
    if command == "exit":
        break
    print(f"{command} を実行しました")

5.その他の文

5.1. 何もしないpass文

 pass は、文法上文が必要な箇所で「何もしない」処理を書きたいときに使います。空の関数やクラスを定義するとき、またはデバッグ時の記述を残しておきたいときなどに便利です。

def do_nothing():
    pass

まとめ

 ここまで、条件分岐と繰り返し処理を中心に5章の内容を整理しました。if/else/elif、三項演算子、for 文と while 文、そしてループ制御のための breakcontinue、何もしない pass 文など、Pythonの基本的な制御構文を総合的に学んできました。次のコンテンツでは、これらを活用する5章の演習プログラムを用意しています。実際にコードを書くことで、より理解を深めていきましょう。