if-elif-else【条件分岐・三項演算子】if-elif-else【条件分岐・三項演算子】メモ 構文 例 メモ条件分岐 一般的な条件分岐 他言語の switch-case 文の代替 ( match-case【match文】3.10 ) 比較演算は連鎖可能の為、x < y and y < z は x < 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〔 例 〕 関連match-case【match文】3.10 外部リンクPython 言語リファレンス if 文 比較 ブール演算 (boolean operation) Python チュートリアル if 文 Python よくある質問 デザインと歴史 FAQ:Python に switch や case 文がないのはなぜですか?プログラミング FAQ:C の "?:" 三項演算子と等価なものはありますか? 構文 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"