見出し画像

東大でPython! - 条件分岐

ある条件で違う処理をすることができます。条件によって自分の欲しい結果へと導きます。

def bmax(a,b):
    if a > b:
        return a
    else:
        return b

上の関数 bmax は、2つの引数の大きい方 (正確には小さくない方)を返します。

関数bmax(a,b)は単純に欲しい情報を選び出します。aとbに数字を入れて実行します。

if 条件:
    処理  ・・・ 条件が正しいとき
else:
     処理  ・・・ 条件以外

この場合は大きい数字を選び出します。

もう少しわからやすく。

もし晴れだったら海へ行こう!じゃなかったら家にいる。

tenki  = "はれ"
if tenku == "はれ":
  print("海へ行こう")
else:
   print("家にいる")

これで良さそうです。実行すると"海へ行こう"と出力されます。もっと使いやすく関数にして実行してみます。

def odekake(tenki):
    if tenki == "はれ":
      print("海へ行こう")
    else:
      print("家にいる")

と定義。使ってみます。まず"はれ"の場合。

odekake("はれ")

海へ行こう

odekake("あめ")

家にいる

それぞれうまくいきました。今のものは"はれ"とそれ以外の条件でしたがもう少し条件で分けたい場合、例えば小雨だった時は?というのも追加ができます。

def odekake(tenki):
    if tenki == "はれ":
        print("海へ行こう")
    elif tenki == "小雨":
        print("買い物行こう")
    else:
      print("家にいる")

elif tenki == "小雨":
      print("買い物行こう")

を付け加えました。

odekake("小雨")

を実行すると"買い物行こう"と出力できます。


いろんな条件

選び出すにはいろんな条件分けができます。まず、

比較演算子
2つのものを比較します。

x < y  # x は y より小さい
x <= y  # x は y 以下
x > y  # x は y より大きい
x >= y  # x は y 以上
x == y  # x と y は等しい
x != y  # x と y は等しくない

and と or を用いて組み合わせ
"and"は両方とも正しい、"or"は片方が正しければOK

i >= 0 and j > 0  # i は 0 以上で、かつ、j は 0 より大きい
i < 0 or j > 0  # i は 0 より小さいか、または、j は 0 より大きい

not によって条件の否定
これはnotを使って打ち消すので逆の意味になります。

not x < y  # x は y より小さくない(x は y 以上)

この記事が気に入ったらサポートをしてみませんか?