if-elif-else【条件分岐・三項演算子】

if-elif-else【条件分岐・三項演算子】

メモ 構文

メモ

  • 条件分岐
    • 一般的な条件分岐
    • 他言語の switch-case 文の代替 ( match-case【match文】3.10 )
    • 比較演算は連鎖可能の為、x < y and y < zx < y < z と記述可能 〔
    • 参考:ブール演算〔
      x and y:x が偽なら x の値、それ以外は y の値
      x or y:x が真なら x の値、それ以外は y の値
      not x:x の真偽を反転 (True または False)
  • 三項演算子
    • C 言語の C ? x : y は  x if C else y

構文

if 条件式1 : 条件式1が真のときの処理1 (1行)
条件式1が真のときの処理2 (複数行可)
[elif 条件式2 : 条件式2が真のときの処理1 (1行)
条件式2が真のときの処理2 (複数行可)]
・・・
[elif 条件式n : 条件式nが真のときの処理1 (1行)
条件式nが真のときの処理2 (複数行可)]
[else : 全て偽のときの処理1 (1行)
全て偽のときの処理2 (複数行可)]

~処理1~処理2どちらか1つを指定
条件式が真のときの値 if 条件式 else 条件式が偽のときの値

x = 15
print("x =", x)
if x < 10:
    print("x < 10")
elif x < 20:
    print("10 ≦ x < 20")
else:
    print("20 ≦ x")
【出力】
x = 15
10 ≦ x < 20
# 比較演算の連鎖
x = 10
y = 20
z = 30
if x < y and y < z:
    print("x < y and y < z")
else:
    print("x < y and y < z 以外")

if x < y < z:
    print("x < y < z")
else:
    print("x < y < z 以外")
【出力】
x < y and y < z
x < y < z
# 三項演算子
x = 10
y = 20
print("x =", x, " y =", y)
min = x if x < y else y
max = x if x > y else y
print("min =", min)
print("max =", max)
【出力】
x = 10  y = 20
min = 10
max = 20
# 参考:ブール演算
print(True and False, "<- True and False")
print(True or False, "<- True or False")
print(not False, "<- not False")

# 空の文字列は False
# "X"・"Y" は True
print("X" and "Y", '<- "X" and "Y"')
print("X" or "Y", '<- "X" or "Y"')
print(not "X", '<- not "X"')
【出力】
False <- True and False
True <- True or False
True <- not False
Y <- "X" and "Y"
X <- "X" or "Y"
False <- not "X"