プログラムは、特定の条件に応じて動作を変える必要があります。たとえば、ある値が100より大きければメッセージを表示し、そうでなければ何もしない、というような場面です。このような状況で必要になるのが「条件分岐」です。
条件分岐は、プログラムが特定の条件を評価し、その結果に応じて異なるコードを実行できる機能です。Pythonでは、これを実現するためにif文やelse文、elif文を使用します。
if文の基本if文は、条件が**真(True)であるかどうかを判定し、その条件が真であれば、特定のコードブロックを実行します。条件が偽(False)**であれば、そのコードブロックは無視されます。
if文の基本的な構文if 条件:
条件が真の場合に実行するコード
x = 10
if x > 5:
print("xは5より大きい")
この例では、変数xが5より大きいかどうかを確認しています。もしxが5より大きければ、print("xは5より大きい")が実行されます。結果として、このコードは"xは5より大きい"を出力します。
else文の使い方if文だけでは、条件が真である場合にのみコードを実行しますが、条件が偽の場合にも何かをしたい場合はどうすれば良いでしょうか?その場合に使えるのが、else文です。elseは、「もし条件が偽であった場合に実行されるブロック」を定義します。
else文の基本的な構文if 条件:
条件が真の場合に実行するコード
else:
条件が偽の場合に実行するコード
x = 3
if x > 5:
print("xは5より大きい")
else:
print("xは5以下です")
この例では、xが5より大きければ"xは5より大きい"を出力しますが、そうでなければ"xは5以下です"を出力します。xが3なので、"xは5以下です"が表示されます。
elif文の使い方条件が複数ある場合、if文の後にelif(else ifの略)を使うことで、複数の条件を順番に評価することができます。elif文を使うことで、より細かい条件分岐が可能です。
elif文の基本的な構文if 条件1:
条件1が真の場合に実行するコード
elif 条件2:
条件2が真の場合に実行するコード
else:
すべての条件が偽の場合に実行するコード
x = 5
if x > 10:
print("xは10より大きい")
elif x > 5:
print("xは5より大きい")
else:
print("xは5以下です")
このコードでは、最初にxが10より大きいかどうかを確認します。もしxが10より大きければ、"xは10より大きい"が表示されます。次に、xが5より大きいかどうかが確認され、もしそうであれば"xは5より大きい"が表示されます。最終的に、どちらの条件も満たさない場合、"xは5以下です"が表示されます。
if文の条件には、ブール値(True または False)を返す式が使われます。たとえば、比較演算子(>、<、==など)を用いて条件を指定します。これにより、プログラムは値が一致するか、大小関係がどうかなどを確認し、その結果に基づいて次に実行すべきアクションを決定します。
>: より大きい<: より小さい==: 等しい!=: 等しくない>=: 以上<=: 以下複数の条件を同時に評価する場合、論理演算子を使うことができます。論理演算子は、以下のような条件式の組み合わせに使われます。
and: すべての条件が真である場合に真を返すor: いずれかの条件が真であれば真を返すnot: 条件が偽であれば真を返し、真であれば偽を返すx = 7
y = 10
if x > 5 and y < 15:
print("xは5より大きく、yは15より小さい")
このコードでは、xが5より大きく、yが15より小さいかどうかを確認しています。両方の条件が真であるため、"xは5より大きく、yは15より小さい"が表示されます。
条件分岐と並んで、ループもプログラミングで非常に重要な概念です。ループを使うと、同じ処理を何度も繰り返すことができます。Pythonには、主に2種類のループがあります: whileループとforループです。
whileループwhileループは、指定した条件が真である間、繰り返し処理を行います。条件が偽になるとループが終了します。
whileループの基本的な構文while 条件:
条件が真である間、繰り返し実行するコード
i = 0
while i < 5:
print(i)
i += 1
このコードでは、変数iが5より小さい間、iの値を出力し続けます。iの値はループごとに1ずつ増えていき、最終的にiが5になった時にループが終了します。
forループforループは、リストやタプル、文字列のような反復可能なオブジェクト(イテラブル)を1つずつ取り出しながら処理を繰り返すために使用します。
forループの基本的な構文for 要素 in イテラブル:
要素ごとに実行するコード
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
このコードでは、fruitsリスト内の各要素(apple、banana、cherry)が順番に取り出され、それぞれがprint関数によって出力されます。
breakとcontinueの使い方break文break文は、ループの実行を途中で強制的に終了させるために使います。ある条件に基づいて、ループを完全に終了させたいときに便利です。
i = 0
while i < 10:
print(i)
if i == 5:
break
i += 1
このコードでは、iが5になるとbreakが実行され、ループが強制的に終了します。結果として、0から5までの数字が表示され、その後ループが停止します。
continue文continue文は、現在の反復をスキップして次の反復に移ります。ループの中で特定の条件を満たした場合に、その反復の残りの処理を飛ばしたいときに使います。
for i in range(5):
if i == 3:
continue
print(i)
このコードでは、iが3の場合、continue文によってその反復がスキップされます。そのため、0、1、2、4が出力され、3は出力されません。
まとめ
以上が、Pythonの条件分岐とループに関する詳細な説明です。条件分岐とループは、効率的かつ柔軟なプログラムを作るための重要な要素であり、これらをうまく使いこなすことで、さまざまな場面で応用できる強力なコードを書けるようになります。