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 として評価されるもの
FalseNone- 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の魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!



