ご覧いただきありがとうございます。
この記事では、条件文について初心者目線で優しく解説します。
今回はおぎーが担当します。
それではGoogle Colaboratoryを開いて学習を進める準備を始めましょう。
Google Colaboratoryって何かわからないといった方は、下記の記事を参考に操作できる準備をしてみてください。
条件文
条件文のイメージ
条件文とは、私たちがコンピュータに対して「もし〇〇という状況だったらこうしろ」というような指令を出したいときに使用するものです。
下のコードっぽいものは、実際に使用する正しいコードではありませんが、みなさんにより理解をしてもらいたいと思って作ったものです。実際のコードと配置は
もし 〇〇(式)ならば
こういう処理をせよ(コードX)
そうでなければ
こういう処理をせよ(コードY)
1番はじめの行の「もし(式)ならば」がTrueであった場合、
2行目の「こういう処理をせよ(コードX)」が実行されます。
このとき、「そうでなければ」以降は実行されません。
一方で、「もし〇〇(式)ならば」がFalseであった場合、
「こういう処理をせよ(コードX)」は実行されず、
「そうでなければこういう処理をせよ(コードY)」が実行されます。
このように、「もし〇〇(式)ならば」の行の文をif文といいます。
「そうでなければ」の部分はelse文といいます。
これら両方を指すときは、if-else文という呼び方をするときもあります。
実際のコード
if-else文
if-else文を実際のコードで示すとこんな感じになります。
x = "こんにちは"
if x == "こんにちは":
print("こんにちは")
else:
print("こんばんは")
xという変数にこんにちはという値を入れ、
もしxがこんにちはであれば、「こんにちは」と返し、
そうでなければ「こんばんは」と返すコード内容です。
if文の行は、ifで始まり、その次に式を書きます。上の例では、
「x == “こんにちは”」という部分が式にあたります。
式を入力した直後は、
コロン(:)を忘れずに入力してください。
コロンを入力したら、「Enter」を押して次の行へ行きます。
Enterを押すと2個インデントしたところへ自動的に改行されますが、
それでOKです。そのまま出力したい内容を入力します。
そして改行し、文頭をifと同じ位置から開始するように、
「Back space」キーで調整します。
else文は、ifで入力した式以外の場合に出力されるので、
elseの次に入力すべき式はありません。
elseと入力したら、すぐにコロン(:)で良いです。
上のコードでは、if文がTrueと評価されたので、「こんにちは」が出力されています。
もしも、xの値を「こんばんは」と入力していれば、if文の式はFalseと評価され、else文の「こんばんは」が出力されます。
複数のif文
先ほどはif-else文について学習しましたが、if文については、複数使用することができます。
x = 10
if x == 10:
print("正解です")
if x * 2 != 20:
print("答えは20ではありません")
if x / 2 == 5:
print("答えは5です")
こちらのコードではif文を3回使用していますが、
if文での式がTrueと評価されれば、次の行のコードが実行されます。
上のコードは、「正解です」と「答えは5です」のみが出力されます。
2つ目のif文は、式がFalseと評価されたということになります。
いくつか算術演算子を用いましたが、記憶が曖昧な人はもう一度復習しましょう。
if文の中にif文
if文の中にさらにif文を追加することができます。
x = 10
y = 5
if x == 10:
if y == 5:
print(x * y)
if文の式がTrueと評価され続ければ、if文を複数使ってもコードは出力されます。
else文は複数使用することはできない
ここまでの学習をもとにすると、
else文も複数使用することができそうな気がする方がいるかもしれません。
しかし、else文は複数使用することはできません。
if-else文は、if文で始まってelse文で終わるものですが、
else文が使用できるのは、if-else文の最後に一度だけです。
覚えておきましょう。
elif文
elif文は、「あるいはもし」といった意味で、if-else文の中で使用することができます。
elif文は、if文とelse文のみではなく、さらに条件分けしたいときに使用します。
x = 10
if x == 5:
print("数字は5です")
elif x == 7:
print("数字は7です")
elif x == 10:
print("数字は10です")
else:
print("これは数字です")
上のコードでは、elif文をif-else文の間に使用した例です。
このコードでelif文は2回しか使用していませんが、条件をより多く設定したければ、何度でも使用することができます。
上の行から順番に評価されていき、Trueと評価された文があったらそれ以降の文は評価されません。
上のコードで言えば、if文、1つ目のelif文はFalseと評価されますが、2つ目のelif文がTrueと評価され、最後のelse文は評価されません。
したがって、「数字は10です」といった文章が出力されます。
if-else文のまとまりは複数示すことができる
x = 10
if x == 5:
print("数字は5です")
elif x == 7:
print("数字は7です")
elif x == 10:
print("数字は10です")
else:
print("これは数字です")
x = "こんにちは"
if x == "こんにちは":
print("こんにちは")
else:
print("こんばんは")
こちらのコードはこれまで紹介したコードの中でif-else文であるものをまとめたものとなります。
このようにif-else文のまとまりを複数列挙しても、それぞれの出力結果を示すことができます。
まとめ
本日は条件文の学習をしました。
これから先条件文は様々な場面で応用されていくのできちんと理解しておきましょう。
・if
・elif
・else
それぞれどのような意味を持ち、if-else文がどのような構文であるのか
いま思い出せなければ、繰り返し復習しましょう。
今回の例で使用したコードはGitHubの方へアップロードしてありますので、
ぜひ活用してください。
GitHubでの閲覧方法は次の記事を参考にしてください。
それではまた次回お会いしましょう。
おぎー