Pythonの真偽値(True,False)・真偽値への型変換・例題について



1. 真偽値の基本
真偽値とは、「真(True)」または「偽(False)」という2つの値を取るデータ型であり、主に条件分岐やループなどの制御フローで使用されます。Pythonでは、真偽値は True
と False
という2つのリテラルで表され、bool
型と呼ばれるデータ型です。これらは他のプログラミング言語の1や0に対応していると考えるとわかりやすいです。True
は「真」、False
は「偽」を意味します。
x = True
y = False
print(x) # True
print(y) # False
2. Pythonでの真偽値の評価
Pythonでは、条件式や値そのものが True
または False
として評価されます。以下のようなものが自動的に False
として評価されます。
2.1. False として評価されるもの
False
None
- 0
- 空のシーケンス(
''
、[]
、()
など) - 空のマップ(
{}
など)
これら以外のものは、一般的に True
として評価されます。
if 0:
print("これは実行されません")
else:
print("0はFalseと評価されます")
上記のコードでは、0
が False
として評価されるため、else ブロックが実行されます。


3. 比較演算と真偽値
比較演算(==
, !=
, >
, <
, >=
, <=
)は、条件式の結果として True
または False
を返します。
a = 10
b = 5
print(a > b) # True
print(a == b) # False
これらの比較演算は、条件分岐に使用されます。
3.1. 論理演算子と真偽値
Pythonでは、論理演算子 and
, or
, not
を使用して、複数の条件式を組み合わせたり、真偽値を反転させることができます。
and
: 両方の条件がTrue
のときにTrue
を返すor
: どちらか一方の条件がTrue
であればTrue
を返すnot
: 真偽値を反転する(True
をFalse
に、False
をTrue
にする)
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False

and
は両方TrueのときだけTrue、or
はどちらかがTrueならTrueなの!
3.2. 型変換と真偽値
Pythonでは、他のデータ型を bool()
関数で真偽値に変換することができます。先ほど説明したように、数値や文字列などの型は暗黙的に True
または False
として扱われますが、明示的に変換することも可能です。
print(bool(1)) # True
print(bool(0)) # False
print(bool("abc")) # True
print(bool("")) # False
1
や "abc"
は True
に評価され、0
や空文字列 ""
は False
に評価されます。
3.3. if文と真偽値
最もよく使われる真偽値の使用例は if
文です。条件が True
の場合に処理を行い、False
の場合には他の処理を行います。
x = 10
if x > 5:
print("xは5より大きい")
else:
print("xは5以下です")
上記の例では、x
が 5
より大きいため、"xは5より大きい"
が出力されます。
4. 例題
4.1. 例題 1:年齢の判定
期待される出力:
年齢を入力してください: 20
成人
または
年齢を入力してください: 16
未成年
解答の手順:
input()
関数を使ってユーザーから年齢を入力します。- 年齢を整数に変換し、18以上かどうかを
if
文でチェックします。 - 18以上であれば「成人」、そうでなければ「未成年」と出力します。
解答:
age = int(input("年齢を入力してください: "))
if age >= 18:
print("成人")
else:
print("未成年")
4.2. 例題 2:割引対象か判定
期待される出力:
商品の価格を入力してください: 1500
割引対象
または
商品の価格を入力してください: 800
割引対象外
解答の手順:
- ユーザーから商品の価格を入力します。
int()
を使って入力を整数に変換し、価格が1000円以上かどうかを判定します。- 条件に応じて「割引対象」または「割引対象外」を出力します。
解答:
price = int(input("商品の価格を入力してください: "))
if price >= 1000:
print("割引対象")
else:
print("割引対象外")
4.3. 例題 3:真偽値に変換
True
に変換されるルールは、空のリストや値 0
は False
になり、それ以外の値は True
になります。期待される出力:
元のリスト: [0, 1, '', 'Hello', [], [1, 2]]
変換後のリスト: [False, True, False, True, False, True]
解答の手順:
bool()
関数を使ってリスト内の各要素をTrue
またはFalse
に変換します。map()
関数を使用して、リスト全体に対してbool()
を適用します。
解答:
original_list = [0, 1, '', 'Hello', [], [1, 2]]
converted_list = list(map(bool, original_list))
print("元のリスト:", original_list)
print("変換後のリスト:", converted_list)
check
Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!