数値と文字列を扱えるようになったので、次は「正しいかどうか」を判定してみましょう。Pythonでは比較の結果は True か False のどちらかになります。
この真偽値は、次の単元で学ぶ if 文の土台になります。まずは比較演算子で結果がどう変わるかを、ブロックで確かめます。

まずはPycoBlocksを開こう
下のPycoBlocksで直接作業するか、別タブで開き、生成されるPythonコードを見ながら進めてください。今回は「条件」カテゴリの比較ブロックを使います。
True / False とは何か
比較の結果は必ず真偽値になります。条件が成り立つなら True、成り立たないなら False です。
print(5 < 10)
print(10 < 5)
1行目は True、2行目は False になります。数式の結果ではなく、判定結果が出てくる点がポイントです。
| 用語 | 意味 | 例 |
|---|---|---|
| 真偽値(bool型) | True か False のどちらかをとる値。比較や条件判定に使う |
5 < 10 → True |
| 比較演算子 | 2つの値を比べて True/False を返す演算子 | == != < > <= >= |
| bool型リテラル | Pythonで直接書ける真偽値の定数。先頭が大文字 | True、False |
ステップ1:5 < 10 を判定しよう
まずは固定値で比較してみましょう。5 < 10 は成り立つので True が表示されます。

print(5 < 10)
ステップ2:変数と比較を組み合わせよう
次は変数を使います。値を入れたあとで a == 7 を判定すると、変数を使った条件判定の形が見えてきます。

a = 7
print(a == 7)
== は「等しいか」を調べる比較演算子です。代入の = と役割が違うので混同しないようにしましょう。
ステップ3:Trueリテラルと比較結果を並べてみよう
True を直接表示することもできますし、比較式の結果を表示することもできます。両方並べると違いが理解しやすくなります。

print(True)
print(1 == 2)
コーディングモードで書いてみよう
よく使う比較演算子は次の6つです。<, <=, >, >=, ==, !=。どれも結果は真偽値になります。
x = 8
print(x >= 8) # True
print(x != 8) # False
この結果をそのまま if に渡すと、条件分岐が書けます。次の単元に直結する重要な感覚です。
type():値の型を調べる
type() を使うと、値がどの型(整数・小数・文字列・真偽値)かを確認できます。
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("hello")) # <class 'str'>
print(type(True)) # <class 'bool'>
演習課題
課題6-1:6つの比較演算子をすべて試してみよう
a = 70、b = 70 として、==、!=、<、>、<=、>= の6種類すべての比較結果を表示してください。
▶ 模範解答と解説を見る
ブロックの組み合わせ例:

a = 70
b = 70
print("a == b:", a == b) # True
print("a != b:", a != b) # False
print("a < b:", a < b) # False
print("a > b:", a > b) # False
print("a <= b:", a <= b) # True
print("a >= b:", a >= b) # True
解説: 同じ値(70 == 70)で6種類の演算子を試すと、==・<=・>= だけが True になります。演算子の意味を「値を変えながら確認する」のが理解への近道です。
課題6-2:入力した数が偶数か奇数かを判定しよう
整数を入力し、「偶数かどうか」の結果を True または False で表示してください。%(余り)演算子を使います。
▶ 模範解答と解説を見る
ブロックの組み合わせ例:

n = int(input("整数を入力してください"))
print("偶数?:", n % 2 == 0)
解説: n % 2 == 0 は「2で割った余りが0かどうか」という比較式です。この結果が直接 True や False になります。if文で使う比較式は、単独でも値として扱えます。
課題6-3:3辺の長さが三角形を作れるか判定しよう
3辺の長さを変数に入れ、三角形の条件(三角不等式:どの1辺も他の2辺の和より小さい)をそれぞれ True/False で表示してください。
▶ 模範解答と解説を見る
ブロックの組み合わせ例:

a = 3
b = 4
c = 5
print("a < b+c:", a < b + c) # True
print("b < a+c:", b < a + c) # True
print("c < a+b:", c < a + b) # True
解説: 三角形が成立するには3条件すべてが True でなければなりません。たとえば a=1, b=1, c=10 にすると一部が False になります。次の「and」の章で、3条件を1行で判定する方法を学びます。
課題6-4:閏年の第1条件を確かめよう
year = 2024 として、「4の倍数かどうか」と「100の倍数かどうか」をそれぞれ True/False で表示してください。% を使います。
▶ 模範解答と解説を見る
ブロックの組み合わせ例:

year = 2024
print("4の倍数?:", year % 4 == 0)
print("100の倍数?:", year % 100 == 0)
解説: 閏年の完全な条件は「4の倍数 かつ 100の倍数ではない、または 400の倍数」です。今回は最初の2条件だけを確認しました。and・or・not を学ぶ次章で完全な閏年判定を実装します。
課題6-5:文字列の比較と型の比較を試そう
①文字列 "abc" と "abd" を < で比較して結果を表示してください(辞書順比較)。②整数 1 と文字列 "1" を == で比較してください。③type(42) と type(3.14) の結果を表示してください。
▶ 模範解答と解説を見る
print("abc" < "abd") # True(辞書順で"c" < "d")
print(1 == "1") # False(型が違う)
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
解説: 文字列の比較は辞書順(アルファベット順)で行われます。1 == "1" は False(整数と文字列は型が違うため)。type() で変数の型を確認できます。型の違いによるバグはプログラミングでよくあるミスです。
まとめ
- 比較式の結果は
TrueまたはFalseになります ==は比較、=は代入で役割が違います- 比較結果は次の単元の
if文でそのまま使えます TrueとFalseは最初の文字が大文字のPython予約語(true/falseと書くとエラーになる)
次は、比較の結果を使って処理を分ける if 文を学びます。→ Python × 入門 | #07 条件分岐をマスターしよう