【Python】条件分岐と繰り返し文(if、for、while)とは?

Pythonにおける条件分岐と繰り返し文は、
プログラムの実行フローを制御し、特定の条件下でコードを実行したり、繰り返し処理を行ったりする事です。

主に、Pythonでは条件分岐を担当するif文、繰り返し処理を行うforループとwhileループがあります。
これらの構造を巧みに組み合わせることで、プログラムは柔軟で効率的な動作を実現します。

本記事では、Pythonの条件分岐と繰り返し文のそれぞれの基本的な文法や使い方を紹介ます。

目次

Pythonの制御構造(if文、forループ、whileループ)とは?

エンジニア:プロくん

まず最初に、制御構造って何か知ってる?

新人:グラミちゃん

えー、よく聞くけど、正直よく分かんないかも…

エンジニア:プロくん

大丈夫、制御構造はプログラムの流れを制御する仕組みのことだよ。
条件によって処理を分岐させたり、同じ処理を繰り返したりするのに使うんだ。

Pythonの制御構造は、if文やforループ、whileループなどを利用して、プログラムの動作を制御します。
これらの機能を使いこなすことで、特定の条件下での処理の実行や反復作業を行うことができます。

Pythonの条件分岐の【if文】

if文とは

条件に応じて特定のブロックを実行するための制御構造です。

Pythonのif文の基本文法

if 条件:
    処理

ここで:

  • 条件 は、ブール値(TrueまたはFalse)を返す式です。条件がTrueの場合、対応する処理が実行されます。
  • 処理 は、条件がTrueの場合に実行されるコードブロックです。


また、if文にはelse句やelif句(else ifの略)を組み合わせることができます。

if 条件1:
    処理1
elif 条件2:
    処理2
else:
    デフォルト処理
  • elif句は、最初の条件がFalseであり、かつ次の条件がTrueの場合に実行される処理を指定します。
  • else句は、すべての条件がFalseの場合に実行されるデフォルトの処理を指定します。
エンジニア:プロくん

まずはPythonの条件分岐だね。これはif文を使って実現されるよ。

新人:グラミちゃん

pythonのif文って、どういう時に使うの?

エンジニア:プロくん

たとえば、if文はある条件が満たされた場合にだけ特定の処理をしたいときに使うんだ。

例えば、
年齢が18歳以上ならアルコールが飲めるという
if文のプログラムを考えてみよう。

if文の例:

age = 20

if age >= 18:
    print("アルコールが飲めます!")
else:
    print("未成年はアルコールが飲めません。")
エンジニア:プロくん

ageっていう変数に20って値が入っているでしょ?

新人:グラミちゃん

うん、20歳ね。

エンジニア:プロくん

そう、そしてこのif文の条件は age >= 18、これって何を意味するか知ってる?

新人:グラミちゃん

18歳以上ってこと?

エンジニア:プロくん

その通り!だから、このif文の条件が True(真)なら、print("アルコールが飲めます!")って表示されるんだ。

if文の結果:

アルコールが飲めます!
新人:グラミちゃん

じゃあ、20歳だから条件が満たされるね。

エンジニア:プロくん

正解!では、もし age が18未満だったら、if文の中のelse以下の print("未成年はアルコールが飲めません。") が実行されるわけだ。

新人:グラミちゃん

なるほど。だから、このif文のプログラムは20歳以上ならアルコールが飲めるってこと?

エンジニア:プロくん

その通りだ!if文は条件によって、プログラムが挙動を変えるんだ。
理解できたかな?

新人:グラミちゃん

うん、分かった気がする!条件分岐のif文って面白いね。

Pythonの繰り返し処理 の【forループ文】

forループ文とは

同じ処理を繰り返し行いたいときに使うのがforループ文です。

Pythonのforループ文の基本文法

for 要素 in イテラブル:
    処理

ここで:

  • 要素 はイテラブル内の要素を示します。
  • イテラブル は、繰り返し処理を行うためのオブジェクトで、リスト、タプル、文字列、辞書のキー、range()関数などが含まれます。
  • 処理 は、各要素に対して行われるコードブロックです。
新人:グラミちゃん

繰り返し処理のforループって何に使うの?

エンジニア:プロくん

forループはリストや範囲などを使って、
同じ処理を繰り返し行うための文なんだ。

for文の例題:

# fruits リストに果物の名前を格納する
fruits = ["りんご", "ばなな", "ぶどう"]

# forループを使いリスト内の各果物について処理を行う
for fruit in fruits:
    # 各果物の名前を表示する
    print(fruit)
エンジニア:プロくん

例題のforループでは、
リストfruitsに入っている要素を順番に取り出して表示できるよ。

for文の結果:

りんご
ばなな
ぶどう
新人:グラミちゃん

forループで果物の名前が順番に表示されたね!

Pythonの繰り返し処理の【whileループ

whileループとは

また別の繰り返しの方法としてwhileループがあります。

Pythonのwhileループは、条件がTrueである間、特定のブロックを繰り返し実行します。

Pythonのwhileループの基本文法

while 条件:
    処理

ここで:

  • 条件 は、ブール値(TrueまたはFalse)を返す式です。条件がTrueの間、ループが続行されます。
  • 処理 は、条件がTrueの間、繰り返し実行されるコードブロックです。
新人:グラミちゃん

Pythonのwhileループはどういうときに使うの?

エンジニア:プロくん

いい質問だね!Pythonのwhileループはある条件が成り立っている間は
繰り返し処理を続けるための文なんだよ。

whileループ文の例題:

# 初期カウントを0に設定
count = 0

# countが5未満の間、ループを続ける
while count < 5:
    # countを出力する
    print(count)
    # countに1を加える
    count += 1
エンジニア:プロくん

例題のPythonのwhileループでは、
countが5未満の間はcountを表示し、それを1ずつ増やしていきます。5になったら繰り返しが終わるよ!

whileループ文の結果:

0
1
2
3
4
新人:グラミちゃん

whileループも繰り返しで表示ができるね!

pythonのforループとwhileループの違い

  • forループ:
    • リストや数字の範囲など、あらかじめ決まった数の繰り返しをするときに使う。
    • 例えば、0から4までの数字を順番に表示するときに使う。

  • whileループ:
    • ある条件が成り立っている限りずっと繰り返しをするときに使う。
    • 条件が満たされなくなるとループをやめる。
    • 例えば、ある条件が成り立っている間だけ数字を表示したい場合に使う。

具体例:

  • forループの例:
# 0から4までの数字を順番に表示する
for i in range(5):
    print(i)
  • whileループの例:
# 0から4までの数字を順番に表示する
x = 0
while x < 5:
    print(x)
    x += 1

forループは繰り返し回数がわかっている場合や、リストの中身を1つずつ見たいときに使います。whileループは、ある条件が成り立っている間ずっと繰り返し処理をしたいときに使います。

まとめ

Pythonの制御構造は、プログラムの流れを制御するための仕組みであり、
条件分岐のif文や繰り返しのforループwhileループがあります。

これらを理解し、使いこなすことで、より効果的なプログラミングが可能です。

初心者の方も是非挑戦してみてください!

目次