条件分岐(if, elif, else)
条件分岐とは
条件分岐とは、特定の条件に応じて異なる処理を実行する仕組みのことです。プログラムが実行される際に、与えられた条件を満たしているかどうかを判定し、それに応じた動作を選択できます。これにより、プログラムの流れを柔軟に制御することが可能になります。
Pythonではif
文を使って条件分岐を行います。特定の条件を満たす場合にのみコードを実行するために使用されます。elif
を用いることで複数の条件を設定でき、else
を使うとすべての条件に当てはまらない場合の処理を指定できます。
基本構文
以下のコードでは、変数x
の値に応じて異なるメッセージを出力します。
x = 10
if x > 0:
print("xは正の数です")
elif x == 0:
print("xは0です")
else:
print("xは負の数です")
この場合、x
が10なのでxは正の数です
と出力されます。
ネスト(入れ子)の使用
条件分岐をネスト(入れ子)することで、より詳細な条件を設定できます。以下のコードでは、x
とy
の両方が正の数であるかを確認しています。
x = 10
y = 5
if x > 0:
if y > 0:
print("xもyも正の数です")
このように、if
文の中にさらにif
文を入れることで、条件を細かく指定することが可能です。
繰り返し処理(for, while)
繰り返し処理とは
繰り返し処理とは、同じ処理を複数回実行する仕組みのことです。同じコードを何度も記述するのではなく、ループを使用して効率的に処理を行うことができます。Pythonではfor
文とwhile
文を使用して繰り返し処理を実装できます。
for文
for
文は、シーケンス(リスト、タプル、文字列など)の要素を順番に取り出して処理するために使います。range()
を使うと、指定した回数だけループを実行できます。
for i in range(5):
print(i) # 0, 1, 2, 3, 4
range(5)
は0から4までの整数を順に生成し、for
ループ内でi
に代入されます。
range()の詳細
range()
関数には、以下の3つの使い方があります。
-
range(stop)
: 0からstop-1
までの整数を生成します。 -
range(start, stop)
:start
からstop-1
までの整数を生成します。 -
range(start, stop, step)
:start
からstop-1
までstep
間隔で整数を生成します。
例:
for i in range(2, 10):
print(i) # 2, 3, 4, 5, 6, 7, 8, 9
for i in range(1, 10, 2):
print(i) # 1, 3, 5, 7, 9
このように、range()
を使うことで柔軟な繰り返し処理を実装できます。
リストの要素を順に処理する例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
この場合、リストfruits
の各要素がfruit
に代入され、1つずつ出力されます。
リストとは、複数のデータをまとめて格納できるデータ構造の一つです。Pythonでは、リストを角括弧[]
を使って定義し、複数の要素をカンマで区切って記述します。(詳しくは、python基礎文法-4で解説します。)
while文
while
文は、指定した条件が真である間、繰り返し処理を行います。
count = 0
while count < 5:
print(count)
count += 1
このコードでは、count
が5未満である間、print(count)
が実行され、count
が1ずつ増加します。最終的にcount
が5になるとループが終了します。
ループの制御(break, continue, pass)
ループの制御とは
ループの制御とは、繰り返し処理の動作を途中で変更するための仕組みです。ループを途中で終了させたり、特定の条件のときに処理をスキップしたりすることができます。Pythonではbreak
、continue
、pass
の3つのキーワードを使用してループの動作を制御できます。
break
break
文を使うと、ループを途中で強制的に終了することができます。
for i in range(10):
if i == 5:
break
print(i) # 0, 1, 2, 3, 4
この場合、i
が5になった時点でbreak
が実行され、ループが終了します。そのため、5以降の数値は出力されません。
continue
continue
文は、その回の処理をスキップし、次のループに進みます。
for i in range(5):
if i == 2:
continue
print(i) # 0, 1, 3, 4
このコードでは、i
が2のときcontinue
が実行されるため、print(i)
はスキップされます。しかし、ループ自体は続行されるため、2以外の値はすべて出力されます。
pass
pass
文は、何も処理を行わずにスキップする場合に使います。通常、関数やクラスの定義時に一時的なプレースホルダー(仮の記述)として利用されることが多いですが、ループ内でも使用できます。
for i in range(5):
if i == 2:
pass # 何もしない
print(i) # 0, 1, 2, 3, 4
この場合、i
が2のときpass
が実行されますが、pass
は単に処理をスキップするだけであるため、i=2
のときもprint(i)
は実行されます。
以上がPythonの基本的な制御構文です。適切に活用することで、柔軟なプログラムを作成することができます。