40代塾講師の「ほぼ独学プログラミング日誌。」9

記事
学び
こんにちは!
塾講師のdainarです。
今日は124年ぶりの2月2日『節分の日』
素晴らしいお天気の中、今日も”コツコツ”とプログラミングの
学習をスタートしましょう!

目次 
1. 条件分岐する
2. 「〜ではないときの条件」elif

条件分岐する


さて、今後長めのプログラムを書くときに”複雑な動作”をさせたいときが出てくるかと思います。
「もし、このようなときには、こうする。そうでなければ、こうする。」
という条件分岐が不可欠になってくるのですが、そのときに用いられる構文が「if構文」です。

if 条件分 :
条件が成り立っているときに実行する処理
else :
条件が成り立っていないときに実行する処理

「条件が成り立っていないときに実行する処理」が必要ないときは、else: 以降を省略して書くことができます。
では、具体例を見ていきましょう。

if1.png

こちらのプログラムの意味はお分かりですかね?
まず、range関数により「1〜10」までの値が順番に「a」に代入されます。
プログラムは上から実行されますので
「if a <= 5 :」が成り立っている間はprint文の「小さいです」が表示され、条件が成り立たなくなると「else :」以下のprint文「大きいです」が表示されるわけです。

こちらはいかがでしょう?

if2.png

かなり難易度が上がりましたね(汗)
いちばん最後の「if (a % 2 == 0) and (a % 3 == 0): 」は「aの値が2の倍数かつ3の倍数のとき」という意味です。
右が計算結果でifの条件に当てはまらない値はそのまま表示され、当てはまる値だけがprint文の指示にしたがっています。
この「and」や「or」「not」などの条件を組み合わせるときにつかう語句を論理演算子といいます。

and → A and B 《A かつ B》 2つの条件の両方が成り立つとき
or → A or B 《A もしくは B》2つの条件のいずれかが成り立つとき
not → not A 《Aが成り立たないとき》条件の否定

「〜ではないときの条件」elif


さて、ときには「〜でないとき」と別の条件を指定したいときがあります。

if3.png

このプログラムでは「if」と「else」が入り混じっていて、ひと目見ただけではどのような処理がされているかわかりません。
ここでPythonには「else」と「if」を合わせた「elif」というキーワードがあり、これを使えば簡潔に書くことができます。

if4.png


最初のプログラムと見比べると一目瞭然ですね!
※ちなみに赤色の「# 〜」の文はわかりやすいように注釈を付けています。
こうすることでプログラムを書いた人が”どのような意図で”命令を書いたのかがわかるようになっています。「# 〜」のことをコメントといってプログラム自体に影響を与えるものではありません。

elifは「〜でないとき」を列挙したいときに、よく使われる表記方法なのでぜひ覚えておきましょう!
でも、命令文を合体させるなんておもしろいですね(笑)

「簡潔にわかりやすく」を常に考えながらプログラミング に励みましょう
♪( ´▽`)/

では、また次回!

※参考図書=『いちばんやさしいPython入門教室』大澤文孝(著) ソーテック社


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す