さて、今回は前回までで覚えた真偽値(bool型)を使ってプログラムの動き方を変化させる「if文」について教えるね!
「if」は「もし~なら」で、「else」は「その他の」って英語で習った!
おっ!ちゃんと英単語を覚えてるんだね!
プログラムでの「if」も同じような意味で使われていて、条件によってプログラムの動きを変えたい場合に使うよ
そうなんだ!
そしたら、「elif」って初めて見る単語だけどどんな意味なの??
「elif」は「else if」の略で、それまでの条件が当てはまらなくて、今の条件が当てはまる場合に動くプログラムだよ
うーん...なんか分かるような分からないような...?
まぁ「百聞は一見にしかず」っていうし、まずは「if文」を使ったプログラムを動かしてみよう!
変数の値が変わると出力結果も変わってる!
ところで、何ヶ所かプログラムが右にズレてるのは何で??
この右にズレてるのを「インデント」って言って、「if文」の条件に一致した時に動かす塊を表現しているよ
具体的には「:」から「インデント」されてた行までが1つの塊ってことになるよ
ここで注意して欲しいのは、「インデント」がズレてしまうとエラーが出ちゃうんだ
なん...だと...!?
初めての人には難しいと感じるところだよね
だけど、インデントする時に「スペースキー」じゃなくて「tabキー」を押すことでミスが減りやすくなるし、if文に「:」を付けてれば多分自動でインデントを揃えてくれると思うから安心してね!
字下げの時は「tabキーで揃える」だね、覚えてとく!!
ちなみに、条件によって分けられるパターンは3種類までなの?
そんなことはないよ
「elif」は何個でも増やせるから条件分岐は何種類でも大丈夫!
なるほど!
ただ、「if」と「elif」は初めてだと違いが分かりづらいかもしれないから、念のため次の2つのプログラムを比較して理解しておこう
「if」を連続で使う場合は全ての「if」を確認して条件が一致するもの全てを動かすのに対して、「elif」を使った場合は、条件が一致したら、それ以降の条件については確認もせずに飛ばされてるよね
なんとなく分かるけど、もう少しわかりやすくお願いします...
じゃあ、条件で分岐するグループは「if」から始まると覚えといて、それぞれの範囲内で条件が一致したプログラムが動くってイメージしたらどうかな?
例えばこんな感じでグループごとに囲ってみると...
それなら分かりやすいかも!
違いを見ていて思ったんだけど、「if文」は「if」だけでも動いてくれるんだね
お、良いところに気づいたね!「elif」と「else」は使わなくても大丈夫だよ
逆に「if」を最初に使わないで「elif」と「else」だけを使うってことは基本的にできないことも注意してね!
はーい!
