今回は条件分岐について解説します. 条件分岐を使いこなせるようになると,条件Aを満たす場合は処理1 条件Bを満たす場合は処理2 それ以外の場合は処理3 のようなプログラムが書けるようになり.プログラミングの幅がぐっと広がります. まずは,条件式を書けるようになるために比較演算子について学びます.
実際に比較演算子を使ってみましょう.
print(1==1)
print(1==2)
print(1<3)
print(1<3)
比較演算子の理解ができたので条件分岐の書き方について解説します. 条件分岐は以下のように書きます.
if (条件式):
(条件式を満たす場合の処理)
(複数行の複雑な処理でもいいですよ)
条件分岐の書き方で重要なのが条件式の後ろの「ダブルコロン」と「インデント」の2つが重要になります.
一つ目の「ダブルコロン」ですが,if (条件式) の後ろに付け忘れると文法ミスとしてエラーになります.
慣れないうちは忘れてしまうことがあるので気を付けましょう.
2つ目はインデントです.
Pythonでは半角スペース4つ(通常はtabキーで入力します)の「インデント」でまとめられた「インデントブロック」を
作り,条件を満たす場合の処理を記述します.
Jupyter Notebookやエディターでは勝手にインデントを入れてくれたりしますが,インデントを間違えると
予期せぬ動作をしてしまうので気を付けるようにしましょう.
それでは,実際のプログラムを見てみましょう.
入力を受け付け,入力が100より大きい場合は「100より大きい!」と出力するプログラムです.
a = int(input())
if a > 100:
print("100より大きい!")
a = int(input())
if a > 100:
print("100より大きい!")
if a == 100:
print("100と等しい!")
if a < 100:
print("100より小さい!")
a = int(input())
if a > 1000:
print("1000より大きい!!")
if a > 100:
print("100より大きい!")
if a > 10:
print("10より大きい")
if a > 0:
print("0よりは大きいよ…")
せっかくなので大きい数字を入力してあげましょう.
1000より大きい!!と出力されると嬉しいですね. 10000を入力してみます.すると…
a = int(input())
if a > 1000:
print("1000より大きい!!")
elif a > 100:
print("100より大きい!")
elif a > 10:
print("10より大きい")
elif a > 0:
print("0よりは大きいよ…")
a = int(input())
if a > 1000:
print("1000より大きい!!")
elif a > 100:
print("100より大きい!")
elif a > 10:
print("10より大きい")
elif a > 0:
print("0よりは大きいよ…")
else:
print("0以下だよ…")
身長(m)と体重(kg)の入力を受け,BMIと肥満度を返すプログラムを書いてみましょう.
BMIの計算式と肥満度の対応表を以下の通りです.
BMI = 体重(kg) ÷ (身長(m))^2
BMI 25以上: 肥満
BMI 18.5~25未満: 標準
BMI 18.5未満: やせ型
今回は少しやることが多くて難しいですね. やるべき処理を一から順に考えていくとプログラムが書きやすいですよ. どういう流れになるのか考えてみましょう.
height = float(input()) # floatに変換するのを忘れずに!
weight = float(input())
BMI = weight/(height**2) # べき乗は ** を使います
print(BMI)
if BMI >= 25:
print("肥満です")
elif BMI >= 18.5:
print("標準体型です")
else:
print("やせ型です")
こだわって出力を整えたい場合は以下のコードを参考にしてみてください.
height = float(input()) # floatに変換するのを忘れずに!
weight = float(input())
BMI = weight/(height**2) # べき乗は ** を使います
if BMI >= 25:
print("BMIは" + str(BMI) + ":肥満です")
elif BMI >= 18.5:
print("BMIは" + str(BMI) + ":標準体型です")
else:
print("BMIは" + str(BMI) + ":やせ型です")
str関数を使って文字列型に変換したBMI と文字列を結合して表示してみました.
色々な値を入力してプログラムが正常に動作するか確かめてみてください.
今回は条件分岐について学びました. 今回の内容は少し難しかったかもしれませんが,条件分岐はよく使いますので, プログラムをたくさん書きながら慣れていきましょう. 次回は数値の比較以外の色々な条件式の表現について解説していきたいと思います.
s