1. 予算を超えていれば オーバー
  2. 予算より少なければ 予算内
  3. ちょうど予算と同じなら 予算内
  4. 1円だけ超えても オーバー
  5. 支出が0円なら 予算内
  6. 予算が0円で支出があれば オーバー
コース一覧
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分

三項演算子

条件式 (三項演算子) の切り替え

True と False は、人に見せる言葉ではない

ここまでの判定は、すべて True か False を返すものでした。しかし画面に True と出しても、読んだ人には何のことか分かりません。本当にほしいのは「オーバー」のような 言葉 です。

True と False から別の値へ乗り換える道具が 三項演算子 です。書き方は下記のとおりです。

Python

値A if 条件 else 値B

条件が True なら 値A、False なら 値B になります。

Python

rest = 0 print("補充が要る" if rest == 0 else "まだある")

英語の語順そのままに「A である、もし条件なら、そうでなければ B」と読みます。慣れるまでは真ん中の if から読むのがコツです。まず条件、次に左、最後に右です。

条件が先に評価され、そのあとで左右のどちらか 片方だけ が採用されます。採用されなかった側は計算すらされません。

文ではなく、式であること

三項演算子は 式 です。式とは「計算すると 1 つの値になるもの」で、1 + 2 や count > 0 と同じ仲間です。値なので、そのまま返せますし、f-string の {} の中にも置けます。

Python

count = 12 print(f"記録は {'多い' if count >= 10 else '少ない'} です")

f-string の {} の中では、外側とは別のクオートを使ってください。外がダブルクオート " なら、内はシングルクオート ' です。同じ種類を重ねると、そこで文字列が終わったと解釈されて SyntaxError になります。

else は省略できません。省くと SyntaxError です。式は必ず何らかの値にならなければいけないからです。if 条件 then A else B のような語順も Python にはありません。値が先、if、条件、else、値の順です。

つなげすぎない

入れ子にもできますが、2 段目からは急に読みづらくなります。三項演算子は 2 択のとき専用 の道具だと考えるのが健全です。3 分岐以上を 1 行に押し込むより、素直に分けたほうが結局は速く仕上がります。

やってみよう

関数 budget_label を実装してください。引数は total と budget の 2 つで、total が budget を超えていれば "オーバー"、そうでなければ "予算内" を返します。三項演算子の形で書いてください。

budget_label(3200, 3000) は "オーバー"、budget_label(2500, 3000) は "予算内" です。ちょうど同じ金額の budget_label(3000, 3000) は、3000 > 3000 が False になるので "予算内" です。境目の扱いは、条件に使う演算子で決まります。

要件

  1. 関数名は budget_label で、引数は total と budget の2つ
  2. total が budget を超えていれば "オーバー" を返す
  3. それ以外は "予算内" を返す(同額のときも "予算内")
  4. 三項演算子 A if 条件 else B の形で書く

入出力例

budget_label(3200, 3000) → "オーバー" budget_label(2500, 3000) → "予算内" budget_label(3000, 3000) → "予算内" budget_label(3001, 3000) → "オーバー" budget_label(0, 3000) → "予算内" budget_label(120, 0) → "オーバー"

ヒント

return "オーバー" if total > budget else "予算内" の1行で書けます

語順は「値A、if、条件、else、値B」です。条件が先ではありません

else は省略できません。省くと SyntaxError になります

同額のときは 予算内 なので、条件は >= ではなく > です

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

関連レッスン

  • つくる:予算チェック

    第3章の総仕上げ。合計と予算を比べて判定つきの3行を返す check_budget を作る

  • 第3章クイズ

    比較演算子、論理演算子、in、剰余、連鎖比較、三項演算子の理解を5問で確認する

  • if文の基本

    if で条件が成り立つときだけ処理を実行する書き方と、インデントの意味を学ぶ

  • forで合計

    for で金額リストを1件ずつ取り出し、合計を返す total_price を作る

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

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

  • 三項演算子値1 if 条件 else 値2 の形式。
  • 演算子//は切り捨て除算(7 // 2 = 3)。
  • 評価出力品質を数値化して継続改善する活動
  • f-stringf"..." で変数を埋め込む文字列記法
  • 関数処理に名前を付けて再利用できる単位
  • 引数位置引数=順番で渡す。
main.py
学習モード
エディタを読み込んでいます

メモ

三項演算子

⌘S で保存