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

    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分

    in演算子

    in 演算子で入っているか調べる

    同じ形の or が 5 つ並ぶ

    おこづかい帳で使うカテゴリは、食費、日用品、娯楽、交通費、その他の 5 種類と決めてあります。利用者が "ごはん" と打ってきたら受け取れないので、打たれた文字列が 5 種類のどれかかを判定したくなります。

    or でも書けます。ただ、同じ形の比較を 5 回並べることになって、1 行がとんでもない長さになります。

    Python

    day = "水"
    print(day == "月" or day == "火" or day == "水")

    3 つでもう長い。5 つ、10 個と増えたら手に負えません。この形をひとことで書くのが in です。

    まとまりの中にあるか

    in は「左の値が、右のまとまりの中にあるか」を True か False で返します。まとまりを作るには、角かっこ [ ] の中に値をカンマ区切りで並べます。

    Python

    days = ["月", "火", "水", "木", "金"]
    print("水" in days)
    print("日" in days)
    print("土" not in days)

    True False True の順に出ます。含まれていないことを調べたいときは not in です。not x in y と書いても動きますが、not in のほうが英語として素直に読めます。

    この [...] の形をリストと呼びます。変数に入れずに、in の右へその場で書いても構いません。

    右がリストか文字列かで、意味が変わる

    in は文字列に対しても働きます。この場合は「その文字列が含まれているか」を調べます。

    Python

    print("食" in "食費")
    print("食" in ["食費", "娯楽"])

    上は True、下は False です。右が文字列なら 部分として 含まれるか、右がリストなら 要素として 一致するか、という別々の判定になります。"食" という要素はリストの中に無いので、"食費" の一部であっても False です。

    左右を逆にすると意味が反転します。左が探す値、右が探される場所です。

    やってみよう

    関数 is_known_category を実装してください。引数は category の 1 つで、"食費" "日用品" "娯楽" "交通費" "その他" のどれかなら True、それ以外なら False を返します。判定には in を使ってください。

    is_known_category("食費") は True、is_known_category("ごはん") は False、空文字の is_known_category("") も False です。

    カテゴリ名は 1 文字でも違うと一致しません。"交通" や "交通 費" は別の文字列です。全角と半角、余分な空白に気をつけて写してください。or を 4 つ並べても同じ結果になりますが、いちど書いてみて長さの差を体感しておくと、in のありがたみが分かります。

    要件

    1. 関数名は is_known_category で、引数は category の1つ
    2. カテゴリは "食費" "日用品" "娯楽" "交通費" "その他" の5種類とする
    3. 5種類のどれかなら True、それ以外は False を返す
    4. 判定には in を使う

    ヒント

    return category in ["食費", "日用品", "娯楽", "交通費", "その他"] の1行で書けます

    角かっこ [ ] の中にカンマ区切りで値を並べるとまとまりになります

    in の左が探す値、右が探される場所です。左右を逆にしないでください

    カテゴリ名は1文字でも違うと一致しません。コピーして貼るのが確実です

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

    関連レッスン

    • 剰余と切り捨て除算

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

    • 連鎖比較と優先順位

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

    • 三項演算子

      A if 条件 else B で値を2択に切り替え、予算内かオーバーかのラベルを返す

    • つくる:予算チェック

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

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

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

    • リスト順序付きで複数の値を扱うデータ構造
    • 変数データに名前をつけて参照する仕組み
    • 関数処理に名前を付けて再利用できる単位
    • 引数位置引数=順番で渡す。
    main.py
    エディタを読み込んでいます

    メモ

    in演算子

    ⌘S で保存