琴葉茜

さて、今回は前回までで覚えた真偽値(bool型)を使ってプログラムの動き方を変化させる「if文」について教えるね!

解説画像1
琴葉葵

「if」は「もし~なら」で、「else」は「その他の」って英語で習った!

琴葉茜

おっ!ちゃんと英単語を覚えてるんだね!
プログラムでの「if」も同じような意味で使われていて、条件によってプログラムの動きを変えたい場合に使うよ

琴葉葵

そうなんだ!
そしたら、「elif」って初めて見る単語だけどどんな意味なの??

琴葉茜

「elif」は「else if」の略で、それまでの条件が当てはまらなくて、今の条件が当てはまる場合に動くプログラムだよ

琴葉葵

うーん...なんか分かるような分からないような...?

琴葉茜

まぁ「百聞は一見にしかず」っていうし、まずは「if文」を使ったプログラムを動かしてみよう!

解説画像2
琴葉葵

変数の値が変わると出力結果も変わってる!

琴葉葵

ところで、何ヶ所かプログラムが右にズレてるのは何で??

琴葉茜

この右にズレてるのを「インデント」って言って、「if文」の条件に一致した時に動かす塊を表現しているよ
具体的には「:」から「インデント」されてた行までが1つの塊ってことになるよ

解説画像3
琴葉茜

ここで注意して欲しいのは、「インデント」がズレてしまうとエラーが出ちゃうんだ

琴葉葵

なん...だと...!?

琴葉茜

初めての人には難しいと感じるところだよね

琴葉茜

だけど、インデントする時に「スペースキー」じゃなくて「tabキー」を押すことでミスが減りやすくなるし、if文に「:」を付けてれば多分自動でインデントを揃えてくれると思うから安心してね!

琴葉葵

字下げの時は「tabキーで揃える」だね、覚えてとく!!

琴葉葵

ちなみに、条件によって分けられるパターンは3種類までなの?

琴葉茜

そんなことはないよ
「elif」は何個でも増やせるから条件分岐は何種類でも大丈夫!

解説画像4
琴葉葵

なるほど!

琴葉茜

ただ、「if」と「elif」は初めてだと違いが分かりづらいかもしれないから、念のため次の2つのプログラムを比較して理解しておこう

解説画像5
琴葉茜

「if」を連続で使う場合は全ての「if」を確認して条件が一致するもの全てを動かすのに対して、「elif」を使った場合は、条件が一致したら、それ以降の条件については確認もせずに飛ばされてるよね

琴葉葵

なんとなく分かるけど、もう少しわかりやすくお願いします...

琴葉茜

じゃあ、条件で分岐するグループは「if」から始まると覚えといて、それぞれの範囲内で条件が一致したプログラムが動くってイメージしたらどうかな?

琴葉茜

例えばこんな感じでグループごとに囲ってみると...

解説画像6
琴葉葵

それなら分かりやすいかも!

琴葉葵

違いを見ていて思ったんだけど、「if文」は「if」だけでも動いてくれるんだね

琴葉茜

お、良いところに気づいたね!「elif」と「else」は使わなくても大丈夫だよ

琴葉茜

逆に「if」を最初に使わないで「elif」と「else」だけを使うってことは基本的にできないことも注意してね!

琴葉葵

はーい!