1. 予算を超えていれば True
  2. 予算より少なければ False
  3. ちょうど予算と同じなら False
  4. 1円だけ超えた場合も True
  5. 支出が0円なら False
  6. 予算が0円で支出があれば True
コース一覧
Python入門:基礎文法編
比較演算子

Python入門:基礎文法編

変数、条件分岐、ループ、関数、リスト・辞書、ファイル操作など Python の基礎文法を、ブラウザ上で毎レッスン実際にコードを書き、自分だけの「おこづかい帳アプリ」を育てながら学べる無料コースです。プログラミング完全未経験から始められ、環境構築や事前知識は一切不要です。約 18 時間 (1 日 30 分 × 37 日) で 74 レッスンを修了でき、修了後は入力・集計・ファイル保存まで備えたスクリプトを1から書けるようになります。

1
はじめての Python
01. printで表示15分
02. 文字列の連結15分
03. 四則演算15分
04. 実行順序15分
05. コメント15分
06. エラーを読んでみる15分
07. つくる:レシート表示15分
08. 第1章クイズ10分
2
変数とデータ型
01. 変数15分
02. typeで型を調べる15分
03. 数値への変換15分
04. 文字列への変換15分
05. boolとNone15分
06. f-string15分
07. 入力を受け取る15分
08. つくる:入力できるおこづかい帳15分
09. 第2章クイズ10分
3
演算子と式
01. 比較演算子15分
02. 論理演算子15分
03. in演算子15分
04. 剰余と切り捨て除算15分
05. 連鎖比較と優先順位15分
06. 三項演算子15分
07. つくる:予算チェック15分
08. 第3章クイズ10分
4
条件分岐
01. if文の基本15分
02. if / elif / else15分
03. 条件の組み合わせ15分
04. match文15分
05. 定番:FizzBuzz判定15分
06. デフォルト値とor15分
07. つくる:カテゴリ自動判定15分
08. 第4章クイズ10分
5
ループ
01. forで合計15分
02. whileで繰り返す15分
03. rangeとstep15分
04. breakとcontinue15分
05. enumerateで番号付け15分
06. zipで組み合わせ15分
07. 入れ子ループ15分
08. つくる:何件でも記録15分
09. 第5章クイズ10分
6
関数
01. 関数を定義する15分
02. 引数と戻り値15分
03. デフォルト引数15分
04. キーワード引数15分
05. 複数の戻り値15分
06. divmod15分
07. 変数のスコープ15分
08. lambda関数15分
09. つくる:関数に分割15分
10. 第6章クイズ10分
7
リストと辞書
01. リストの追加と削除15分
02. スライス15分
03. 辞書の基本15分
04. 辞書を走査15分
05. keyでソート15分
06. setで重複除去15分
07. リスト内包表記15分
08. タプルアンパック15分
09. つくる:カテゴリ別集計15分
10. 第7章クイズ10分
8
ファイルとエラー処理
01. ファイルを読み込む15分
02. ファイルに書き込む15分
03. withで安全に扱う15分
04. CSV形式で保存15分
05. try-exceptで備える15分
06. 例外の種類15分
07. つくる:保存機能15分
08. 第8章クイズ10分
9
総合制作
01. 全機能を統合しよう15分
02. 月間レポート機能15分
03. 自由拡張15分
04. 完成と次のステップ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 してよい

入出力例

is_over(3200, 3000) → true is_over(2500, 3000) → false is_over(3000, 3000) → false is_over(3001, 3000) → true is_over(0, 3000) → false is_over(120, 0) → true

ヒント

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 で保存