過去の6回の記事で、ウェブサイトからデータを入手するプログラムを作るための材料がかなりそろってきました。
ここでは分岐処理について考えてみます。
if文:基本形式
Excel関数にもあります。VBAでも使います。
考え方はほとんど同じです。
if tensu >= 60: print("合格です")
変数「tensu」が60以上であれば、「合格です」と表示します。
もし条件に合わない場合=変数「tensu」が59以下であれば、何もしません。
ここで注意点です。
条件に合う場合、実行する内容は、必ず字下げ(インデント)して書きます。
字下げは、半角空白で4文字分行います。
字下げの数はルールはないようですが、4文字分が標準のようです。
Pythonでは、字下げもコードの一部です。字下げの有無により挙動が決まります。
↓次のように書くとエラーとなります。
if tensu >= 60: print("合格です")
Pythonは少ないコード数でプログラムを作成できるといわれていますが、字下げもそのためのルールであるそうです。
それと、これは私だけかもしれませんが、ついつい「:」(セミコロン)を忘れがちです。VBAと似ているとはいえ、微妙にちがいがあるので、要注意です。
if文:分岐後の処理を追加
VBAなどでおなじみの使い方がPythonでも可能です。
上記の例では、59点以下の場合は何もしません。そこで、59点以下の場合は「不合格です」と表示します。
if tensu >= 60: print("合格です") else: print("不合格です")
はい、めっちゃ簡単ですよね。(^^)v
余談ですが、Pythonの場合、if文の締めくくり(End If)を書く必要がありません。
VBAでは必要です。End Ifを書き忘れてしまい、実行するとエラーになるということがあります。(これも私だけでしょうかね。要するにおドジなのですよ。)
if文:分岐後の処理がさらに増える場合
条件が複数のケースもあります。
そういう場合は、if・・・elif文を使います。
上記の例では、合格か不合格の2択です。
点数により「A」「B」「C」と3段階の評価をします。60点以上の場合は「A」、40点以上59点以下の場合は「B」、39点以下の場合は「C」と表示します。
上記内容を実現するには、次のように書きます。
if tensu >= 60: print("評価は「A」です。おめでとうo(^o^)o") elif tensu >= 40: print("評価は「B」です。あともう一息〇(^_^)o") else: print("評価は「C」です。もっとがんばりましょう(´_`)")
条件が増える場合、elif+条件を追加すればOKです。
コメント