真理値(bool型)
Pythonには真理値(bool型)という型があり、True(真)とFalse(偽)の2つの値があります。
type(True) # <class 'bool'>type(False) # <class 'bool'>注意:
TrueとFalseは先頭が大文字です。trueやfalseはエラーになります。
比較演算子
2つの値を比較して True または False を返す演算子を比較演算子といいます。
3 < 5 # True(3は5より小さい)3 > 5 # False3 == 3 # True(等しい)3 != 4 # True(等しくない)3 <= 3 # True(以下)3 >= 4 # False(以上)比較演算子のまとめ
| 演算子 | 意味 | 例 | 結果 |
|:---:|:---:|:---:|:---:|
| < | 小さい | 3 < 5 | True |
| > | 大きい | 3 > 5 | False |
| == | 等しい | 3 == 3 | True |
| != | 等しくない | 3 != 4 | True |
| <= | 以下 | 3 <= 3 | True |
| >= | 以上 | 3 >= 4 | False |
注意:
==は等しいかどうかの比較演算子です。=は代入演算子です。混同しないようにしましょう。
不等式の連鎖
Pythonでは不等式を連鎖させることができます。
x = 51 < x < 10 # True(1 < x かつ x < 10)1 < x < 5 # False(x < 5 が False)論理演算子
複数の条件を組み合わせるために論理演算子を使います。
True and True # True(両方 True のとき True)True and False # FalseFalse and True # FalseFalse and False # FalseTrue or True # True(どちらか一方でも True なら True)True or False # TrueFalse or True # TrueFalse or False # Falsenot True # False(真理値を反転)not False # True論理演算子のまとめ
| 演算子 | 意味 | 結果が True になる条件 |
|:---:|:---:|:---:|
| and | かつ | 両方が True |
| or | または | 少なくとも一方が True |
| not | でない | オペランドが False |
if文による条件分岐
if 文を使うと、条件が真のときだけ処理を実行できます。
x = 10if x > 5: print("xは5より大きいです") # 実行されるif の後ろに条件式を書き、その後ろにコロン : を書きます。条件が True のときに実行されるコードブロックはインデント(字下げ)して書きます。
def is_positive(x): if x > 0: return True return Falseis_positive(5) # Trueis_positive(-3) # False様々な条件
偶数・奇数の判定
剰余演算子 % を使って偶数・奇数を判定できます。
def is_even(n): return n % 2 == 0is_even(4) # Trueis_even(7) # False範囲内かどうかの判定
def in_range(x, low, high): return low <= x <= highin_range(5, 1, 10) # Truein_range(15, 1, 10) # False複合条件
論理演算子を組み合わせた複合条件の例です。
def is_valid_age(age): return 0 <= age <= 150def is_teenager(age): return 13 <= age <= 19is_valid_age(25) # Trueis_valid_age(-1) # Falseis_teenager(16) # Trueis_teenager(30) # False真理値を返す関数
条件を関数として定義しておくと、再利用しやすくなります。
def is_leap_year(year): """うるう年かどうかを返す""" # 400の倍数はうるう年 if year % 400 == 0: return True # 100の倍数はうるう年でない if year % 100 == 0: return False # 4の倍数はうるう年 if year % 4 == 0: return True return Falseis_leap_year(2000) # Trueis_leap_year(1900) # Falseis_leap_year(2024) # Trueis_leap_year(2023) # False練習: is_divisible
整数 n が整数 d で割り切れるかどうかを返す関数 is_divisible(n, d) を定義してください。
練習: absolute_value
abs() 関数を使わずに、絶対値を返す関数 absolute_value(x) を定義してください。
練習: bmi_category
BMIの値を受け取り、体型カテゴリを返す関数 bmi_category(bmi) を定義してください。
- BMI < 18.5: 「低体重」
- 18.5 ≤ BMI < 25.0: 「普通体重」
- 25.0 ≤ BMI < 30.0: 「過体重」
- BMI ≥ 30.0: 「肥満」