if構文では条件式が「True」である場合にのみ処理が行われるプログラムを作りました。
今回はif-else構文を用いて条件式が「True」「False」どちらでも結果を返すプログラムを作成します。日本語で言うと「もし〇〇そうでなければ⚫⚫」といったニュアンスです。
加えて条件を複数組み合わせて使うブール演算子についても解説します。
if-else構文の基本型
if 条件式 :
____if節の条件式で「True」の場合に処理される
else :
____if節の条件式で「False」の場合に処理される
ポイント①
if条件式、elseの後ろの「:」コロンを書く(_部分)
elseの後ろが特に忘れがちです
ポイント②
「True」「False」のとき実行する処理の前のインデント(_部分)
※if構文のときと同様にインデントは半角スペース4つが推奨です
次は複数の比較式を合わせるブール演算子についてみていきます。
ブール演算子
ブール演算子は論理演算子とも呼ばれます。機能としてブール値(True、False)を受け取って結果を返す演算子です。「and」「or」「not」と3種類があります。
ブール演算子一覧
ブール演算子 | 説明 |
a and b | aとb両方が真ならば真、 それ以外は偽 |
a or b | aあるいはbのどちらかが真ならば真、 それ以外は偽 |
not a | aが真ならば偽、偽ならば真 |
演算の例
①and演算
2つの値が共にTrueのときのみTrueを返し、それ以外のときはFalseを返す
②or演算
2つの値のどちらかがTrueであれば、Trueを返す
③not演算
TrueであればFalse、FalseであればTrueを返す
比較式を用いた演算の例
実践的に比較式を用いてブール演算をしていきます
①a=1
(aは1と等しい)かつ(aは1以上)
TrueとTrueで「True」
②b=15
(bを3で割ったあまりは0)または(bを4で割ったあまりは0)
TrueとFalseで「True」
③1は2より小さい
Trueであるが、真偽が逆転し「False」
if-else構文を用いてプログラムを書いてみよう
if-else構文、ブール演算子を用いてBMI(ボディマス指数)の値によって標準体型か否かを振り分ける判定プログラムを書いていきます。
※BMIの詳細は割愛しますが普通体重での値は18.5以上25未満です。
①今回はBMIの値20で書いています。
②もし(18.5以上)かつ(25未満)がTrueであれば③の処理を行う
③print()関数で()内を表示
④②の条件がTrueでないならばprint()関数で()内を表示
今回はブール演算子の説明も兼ねて、(18.5≦bmi) and (bmi<25)と書きましたが、Python3では18.5≦bmi<25のように簡易的に書くことが可能です。(下記)
まとめ
if-else構文、ブール演算子について学びました。
複数の条件を組み合わせることでより複雑な条件分岐を表現できるようになりました。使い方をいろいろ試して慣れていきましょう。
コメント