コース一覧
    Python演算子・制御フロー
    if文の基本

    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分

    if文の基本

    if と else、通る枝は1本

    比べた結果を持っていても、動きは変わらない

    第 3 章で price >= 1000 が True か False になることを見ました。ただ、判定の結果を手に入れただけでは、表示される内容は 1 文字も変わりません。結果によって 実行する処理そのもの を切り替える道具が if です。

    Python

    memo = "レシートを撮り忘れた"
    mark = "メモなし"
    if memo != "":
        mark = "メモあり"
    print(mark)

    memo に中身があるので mark は "メモあり" に置き換わります。空文字なら if の中は 1 行も動かず、mark は "メモなし" のまま残ります。条件が成り立ったときだけ通れる通せんぼだと思うと分かりやすいです。

    下げ幅が「どこまでが if の中身か」を決める

    if のうしろに条件を書き、行末に半角のコロンを置きます。次の行から、条件が True のときだけ動く処理を 半角スペース 4 つ分下げて 書きます。この下げ幅を インデント と呼びます。

    Python ではインデントが文法そのものです。他の言語のような波かっこは使いません。だからインデントを戻した行は if の外側にあり、条件が False でも必ず動きます。

    Python

    def mark_memo(memo):
        mark = "メモなし"
        if memo != "":
            mark = "メモあり"
        return mark

    def の中で if を使うと、インデントは 2 段になります。def の中身が 4 つ分、if の中身がさらに 4 つ分で、合わせて 8 つ分です。return の行は 4 つ分に戻してあるので、if を通っても通らなくても実行されます。

    境目の値は、両側を自分の手で試す

    >= は「以上」、> は「より大きい」です。ちょうどの値をどちら側に入れるかで答えが変わるので、境目は必ず 2 つ試します。

    Python

    print(1000 >= 1000)
    print(1000 > 1000)

    True と False が出ます。この 1 文字の違いが、そのまま判定の食い違いになります。

    if の行の末尾にコロンを書き忘れると SyntaxError、インデントがそろっていないと IndentationError です。どちらも実行する前に止まり、メッセージに行番号が出るので、そこを見にいけば直せます。

    やってみよう

    関数 price_alert(price) を実装してください。price が 1000 以上なら文字列 "高額" を、そうでなければ "通常" を返します。1000 ちょうどは「高額」に入れます。

    書けたら 999 と 1000 の 2 つを渡して、境目で答えが切り替わることを確かめてみてください。

    要件

    1. 関数名は price_alert で、引数は price の 1 つ
    2. price が 1000 以上なら "高額" を return する
    3. price が 1000 未満なら "通常" を return する
    4. if の行は末尾にコロンを付け、中身は半角スペース 4 つ分インデントする

    ヒント

    if price >= 1000: と書き、その次の行を 4 つ分下げて return を書きます

    1000 ちょうどを含めるので > ではなく >= を使います

    if の外側に return "通常" を書くと、条件に合わなかったときの答えになります

    print ではなく return で返します

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

    関連レッスン

    • if / elif / else

      elif と else で 3 つ以上に枝分かれさせる書き方と、上から順に評価される仕組みを学ぶ

    • 条件の組み合わせ

      2 つの条件を同時に見るとき、if のネストと and のどちらで書くかを比べて学ぶ

    • match文

      1 つの値を複数の候補と突き合わせる match 文の書き方と、elif との使い分けを学ぶ

    • 定番:FizzBuzz判定

      FizzBuzz を 1 つの数について判定しながら、厳しい条件を先に書くという分岐の鉄則を学ぶ

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

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

    • 処理計算や代入を表す長方形
    • インデントPythonはインデント(通常スペース4つ)でコードブロックを定義する。
    • 関数処理に名前を付けて再利用できる単位
    • 引数位置引数=順番で渡す。
    main.py
    エディタを読み込んでいます

    メモ

    if文の基本

    ⌘S で保存