本記事ではPythonのif文について解説します。
if文が分かるようになると、条件が途中で分岐するプログラムが書けるようになります。
if文の基礎から、複数の条件に分岐する処理を書く方法まで、分かりやすく解説していきましょう。
Pythonのif文とは?
Pythonのif文とは、条件分岐を行うための構文のことです。
今までは特定条件の場合の処理しか行っていませんでしたが、if文を使うことで2つ以上の処理に分岐するプログラムを書くことができます。
たとえば、くじ引きで当たった場合に「おめでとう」と表示し、外れた場合に「残念」と表示させることが可能です。
このように、条件分岐ができるようになると、場合によって別の文字列を表示できるのです。
Pythonのif文の使い方
それてはPythonのif文の具体的な使い方をみていきましょう。
- if文で条件分岐を行う
- elif文で複数の条件分岐を行う
- else文でいずれかの条件に当てはまらなかった場合の処理を行う
この3つに分けて解説します。
3つのやり方さえ覚えれば、if文の基礎は習得したといっても過言ではありません
if文で条件分岐を行う
まずはif文で最も単純な条件分岐を行う方法を解説します。
特定の条件に当てはまった場合のみ、文字列を表示するプログラムを書きましょう。
○コード例
age = input("年齢を入力してください:")
age = int(age)
if age < 20:
print("あなたは20才未満ですね")
○実行結果
上記の例では、input関数を使って年齢を標準入力させています。
試しに「12」と入力してみました。
標準入力した年齢が「20」より下ですので、「あなたは20才未満ですね」と表示させています。
その後は「43」と入力しました。
今度は「20」より上なので、何も表示がされません。
if文を使うときは上記のように、「if age < 20:」と書きます。
これは「もし変数ageが20より下だったら」という意味です。
これが「if文」と呼ばれるものです。
if文の下には、「if文の条件に当てはまる場合の処理」を書きます。
今回だったら「print(“あなたは20才未満ですね”)」で、ageが20より下だった場合のみ文字列を表示させています。
注意点ですが、「if文の条件に当てはまる場合の処理」を書く場合、必ず「インデント」させる必要があります。
これがif文の最も基本的な使い方です。
elif文で複数の条件分岐を行う
つづいて、elif文で複数の条件分岐を行う方法を解説します。
さっきは、一種類の条件分岐しかしませんでしたが、elif文を使うことで、複数の条件分岐ができるのです。
○コード例
age = input("年齢を入力してください:")
age = int(age)
if age < 20:
print("あなたは20才未満ですね")
elif age < 30:
print("あなたは20才以上30才未満ですね")
○実行結果
標準入力で「12」と入力すると、先程と同じように表示されます。
今度は標準入力で試しに「23」と入力しましょう。
「あなたは20才以上30才未満ですね」と表示される筈です。
上記はまず、if文である「if age < 20:」が読み込まれます。
しかし、今回は「23」なので、条件に当てはまりません。
if文の条件に当てはまらない場合のみ、elif文である「elif age < 30:」が読み込まれます。
ageが30より下の場合のみ、elif文の下の処理が実行されます。
今回は「23」なので、elif文の下の処理が実行され、「あなたは20才以上30才未満ですね」と表示される訳です。
このように、elif文を使うことで、複数の条件分岐を作ることができます。
なおelif文の処理を書く場合も、必ずインデントさせてください。
また、elif文を複数使うことで、3種類以上の条件分岐を作ることも可能です。
○コード例
age = input("年齢を入力してください:")
age = int(age)
if age < 20:
print("あなたは20才未満ですね")
elif age < 30:
print("あなたは20才以上30才未満ですね")
elif age < 40:
print("あなたは30才以上40才未満ですね")
○実行結果
標準入力で「34」と入力すると、一番下の「elif age < 40:」の条件に当てはまり、「あなたは30才以上40才未満ですね」と表示されます。
else文でいずれかの条件に当てはまらなかった場合の処理を行う
else文は、if文と全てのelif文の条件に当てはまらなかった場合のみ動きます。
例をみていきましょう。
○コード例
age = input("年齢を入力してください:")
age = int(age)
if age < 20:
print("あなたは20才未満ですね")
elif age < 30:
print("あなたは20才以上30才未満ですね")
elif age < 40:
print("あなたは30才以上40才未満ですね")
else:
print("あなたは40才以上ですね")
○実行結果
試しに標準入力で「56」と入力しましょう。
「56」と入力した場合、if文、elif文の条件には当てはまりません。
そのため、else文が実行されます。
else文の処理が動き「あなたは40才以上ですね」と表示されるのです。
関係演算子について
if文を理解するために、関係演算子についても解説しておきましょう。
関係演算子とは先程if文で使った「<」の記号のことです。
if文では、関係演算子を使うことで、条件分岐を表すことができます。
関係演算子の「<」を使うことで、「if age < 20:」と書けば「ageは20より小さい場合」という条件分岐ができます。
関係演算子には他にもいくつか種類があります。
関係演算子 | 意味 |
---|---|
< | 小さい |
<= | 以下 |
> | 大きい |
>= | 以上 |
== | 等しい |
!= | 等しくない |
これらの関係演算子をif文で使うことで、それぞれの条件分岐を表すことが可能です。
たとえば「if age == 20:」と書けば「ageは20と等しい場合」という条件分岐になります。
等しいを表す関係演算子は、「=」ではなく「==」なので注意しましょう。
まとめ
本記事では、Pythonのif文について解説しました。
if文を使うことで条件分岐が書けることがお分かり頂けたかと思います。
次回は、for文、while文を使った、ループ処理について解説していきましょう。