コース一覧
    Python演算子・制御フロー
    比較演算子

    Python演算子・制御フロー

    演算子と条件分岐の使い方を学び、値の比較と分岐を組み合わせた処理を実装できるようにします。

    1
    演算子と式
    01. 比較演算子15分
    02. 論理演算子15分
    03. in演算子15分
    04. 剰余と切り捨て除算15分
    05. 連鎖比較と優先順位15分
    06. 三項演算子15分
    07. つくる:予算チェック15分
    08. 第3章クイズ10分
    2
    条件分岐
    01. if文の基本15分
    02. if / elif / else15分
    03. 条件の組み合わせ15分
    04. match文15分
    05. 定番:FizzBuzz判定15分
    06. デフォルト値とor15分
    07. つくる:カテゴリ自動判定15分
    08. 第4章クイズ10分

    比較演算子

    比較演算子と真偽値

    使いすぎているのかどうか、プログラムは何も言ってくれない

    第 2 章までのレシートは、使った金額を書き出すだけでした。それが多いのか少ないのかは何も言ってくれません。ここから、プログラムに「くらべる」ことを覚えさせます。

    くらべるための道具が 比較演算子 です。2 つの値を左右に置くと、その関係が正しいかどうかを True か False で答えてくれます。

    Python

    print(7 > 3)   # True   より大きい
    print(7 < 3)   # False  より小さい
    print(3 >= 3)  # True   以上
    print(3 <= 2)  # False  以下
    print(3 == 3)  # True   等しい
    print(3 != 3)  # False  等しくない

    > と < は算数と同じ向きで、とがったほうが小さい側を指します。>= と <= は「以上」「以下」なので、等しいときも True です。=> と書くとエラーになるので、不等号が先と覚えます。!= の ! は多くの言語で否定を表す記号で、文字列にも使えます。

    代入の = と比較の == は別物

    いちばん引っかかるのがここです。イコールが 1 つの = は代入、2 つの == は比較です。

    Python

    days = 7
    print(days == 7)

    1 行目は「等しい」という主張ではなく「入れる」という命令、2 行目が「なのか」と聞いています。くらべたいのにイコールを 1 つしか書かないと SyntaxError になります。= は「する」、== は「なのか」。日本語に直して読むと取り違えにくくなります。

    比較の結果は、値である

    > が返す True と False は bool 型の値です。ここが大事なところで、比較は「その場で判定して終わり」ではなく、1 つの値を作る式 です。

    Python

    result = 7 > 3
    print(type(result).__name__)

    bool と出ます。値なので、変数に入れることも、関数からそのまま返すこともできます。True や False を自分で書き分ける必要はありません。

    なお "3000" > 3000 のように文字列と数値をくらべると TypeError です。数として比べたいなら、先に int を通しておきます。

    やってみよう

    関数 is_over を実装してください。引数は total と budget の 2 つで、total が budget を 超えている とき True、そうでないとき False を返します。

    is_over(3200, 3000) は True、is_over(2500, 3000) は False です。ちょうど同じ金額の is_over(3000, 3000) は、超えてはいないので False になります。

    この境目の 1 つをどちらに入れるかは、いつも仕様で決めておく必要があります。「予算を超えたら」なら >、「予算に達したら」なら >= で、答えが変わります。バグの大半は境界値で起きるので、テストには必ずちょうどの値を混ぜてください。

    要件

    1. 関数名は is_over で、引数は total と budget の2つ
    2. total が budget より大きいとき True を返す
    3. total と budget が等しいときは False を返す
    4. True や False を自分で書かず、比較の式をそのまま return してよい

    ヒント

    return total > budget の1行で書けます

    「超えている」は > です。>= にすると同額のときも True になってしまいます

    比較の式は True か False という値そのものなので、そのまま返せます

    イコール1つの = は代入です。比較には使いません

    生田 陸人
    監修生田 陸人
    ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
    編集 ゆめさく編集部·公開 2026/08/05·更新 2026/08/26

    関連レッスン

    • 論理演算子

      and / or / not で条件を組み合わせ、食費かつ1000円以上の支出を判定する

    • in演算子

      in と not in でまとまりに含まれるかを調べ、使えるカテゴリかを判定する

    • 剰余と切り捨て除算

      // で商、% で余りを求め、割り勘の1人分と端数を計算する

    • 連鎖比較と優先順位

      0 <= price <= budget の連鎖比較と、演算子が計算される順番を整理する

    このレッスンに出てくる用語

    意味があいまいなまま進んだ語は、ここから読み直せます。

    • 比較演算子=は代入、==は値の比較。
    • 演算子//は切り捨て除算(7 // 2 = 3)。
    • 変数データに名前をつけて参照する仕組み
    • 関数処理に名前を付けて再利用できる単位
    • 引数位置引数=順番で渡す。
    • テストバグを見つける工程
    main.py
    エディタを読み込んでいます

    メモ

    比較演算子

    ⌘S で保存