第5章 制御構造

条件分岐(if-elif-else文)

Pythonのif-elif-else文は、特定の条件が真か偽かによって処理を分岐させる制御構造です。以下に基本的な使用方法を示します。

x = 10
if x > 0:    # xが0より大きいかどうかをチェック
    print("xは正の数です")   # xが0より大きい場合に実行されるブロック
elif x < 0:  # xが0未満であるかどうかをチェック
    print("xは負の数です")   # xが0未満である場合に実行されるブロック
else:
    print("xは0です")       # xが上記のいずれの条件にも当てはまらない場合に実行されるブロック


繰り返し処理(for文とwhile文)

Pythonのfor文とwhile文は、特定の条件が真である間、あるいは指定した回数だけ、処理を繰り返す制御構造です。以下に基本的な使用方法を示します。

# for文の例
for i in range(5):  # range(5)は0から4までの整数を生成
    print(i)        # このブロックが5回繰り返されます

# while文の例
x = 0
while x < 5:  # xが5未満である間、このブロックを繰り返します
    print(x)
    x += 1    # xを1ずつ増加させます


制御構造の流れを変更する命令(break文とcontinue文)

Pythonのbreak文とcontinue文は、ループの流れを制御するために使用されます。以下に基本的な使用方法を示します。

# break文の例
for i in range(10):
    if i == 5:    # iが5のとき、ループを中断します
        break
    print(i)

# continue文の例
for i in range(10):
    if i == 5:    # iが5のとき、この回のループをスキップし、次の回へ進みます
        continue
    print(i)


else節の使用(for、whileのelse)

Pythonでは、for文やwhile文と組み合わせてelse節を使用することができます。これは、ループが正常に終了した(break文による中断なし)場合にのみ実行されるブロックを定義します。

# for-else文の例
for i in range(5):
    if i == 10:    # この条件は常に偽です
        break
    print(i)
else:
    print("ループは正常に終了しました")

# while-else文の例
x = 0
while x < 5:
    if x == 10:   # この条件は常に偽です
        break
    print(x)
    x += 1
else:
    print("ループは正常に終了しました")


練習問題1.

0から10までの整数を順番に出力するプログラムを作成してください。ただし、5のときだけは出力せず、それ以外の数値を出力してください。


練習問題2.

ユーザーから入力された整数が正の数であれば "正の数です"、負の数であれば "負の数です"、0であれば "ゼロです" と出力するプログラムを作成してください。


練習問題3.

1から20までの数を順に出力するプログラムを作成してください。ただし、3の倍数のときは "Fizz"、5の倍数のときは "Buzz"、3と5の両方の倍数のときは "FizzBuzz" を出力してください。それ以外の数値はそのまま出力してください。