ながみえ

一つ前のLessonでは条件分岐(if-elif-else文)について学習しました。

今回は条件分岐(match文)について見ていきます。

Lesson1:基礎文法編
Lesson2:制御構造編
・Lesson2-1:比較演算子と論理演算子を理解しよう
・Lesson2-2:条件分岐(if-else文)を理解しよう
・Lesson2-3:条件分岐(if-elif-else文)を理解しよう
・Lesson2-4:条件分岐(match文)を理解しよう ◁今回はココ
・Lesson2-5:繰り返し処理(for文)を理解しよう
・Lesson2-6:繰り返し処理(while文)を理解しよう
・Lesson2-7:繰り返しの制御を理解しよう
・Lesson2-8:エラーメッセージを読めるようになろう
・Lesson2-9:例外処理の基礎を理解しよう
・練習問題2-1:ハイアンドロー ゲームを作ろう
・練習問題2-2:数字当てゲームを作ろう
・練習問題2-3:簡単なじゃんけんゲームを作ろう
Lesson3:関数とスコープ編
Lesson4:データ構造編
Lesson5:オブジェクト指向編
次のステップ:Pythonを用いたアプリ開発

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson2-3 条件分岐(if-elef文)を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson2-5 繰り返処理(while文)を理解しよう

Pythonの「条件分岐(macth文)」とは

この章ではPythonにおける「条件分岐(macth文)」の意味や使い方を学習します。必要ない方はここをクリックして練習問題へ飛びましょう。

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

Pythonではif-elif-else文に加えて、Python 3.10以降で新たに導入されたmatch文による条件分岐が使用できます。

これにより複数の条件に基づいた処理をより簡単に記述できるようになりました。

この記事ではmatch文の基本的な使い方について解説します。

条件分岐(match文)とは?

match文は複数の値を比較して特定の条件に応じて異なる処理を実行する構文です。

match文は「パターンマッチング」とも呼ばれ、特定の値に対して対応するcase文を使用して条件分岐を行います。

match文の基本的な構文は以下の通りです。

match 変数:
    case 値1:
        処理1
    case 値2:
        処理2
    case _:
        デフォルト処理
  • matchの後に続く変数に対して、caseを使って条件を記述します。
  • 最後のcase _: は「デフォルトケース」で、どの条件にも当てはまらない場合に実行されます。

match文を使うことでif-elif-else文を使わなくても複数の値に対する処理を簡潔に表現できます。

条件分岐の使用例

次にmatch文を使った具体的な例を見てみましょう。

以下のプログラムはユーザーに数値を入力してもらい、その数値に応じてメッセージを表示します。

num = int(input("数値を入力してください: "))

match num:
    case 1:
        print("1が入力されました。")
    case 2:
        print("2が入力されました。")
    case _:
        print("その他の数値が入力されました。")

このプログラムの動作は以下の通りです。

  1. input関数を使ってユーザーから数値を入力し、その値を整数型に変換して変数numに代入します。
  2. match numで入力された数値に基づいて、各case文で条件をチェックします。
    • case 1: では、数値が1の場合に「1が入力されました。」と表示します。
    • case 2: では、数値が2の場合に「2が入力されました。」と表示します。
    • それ以外の数値が入力された場合は、case _: の「その他の数値が入力されました。」というメッセージが表示されます。

このように、match文を使うことで複数の値に対する処理をシンプルに記述できるのが特徴です。

まとめ

match文は複数の条件に基づく処理を簡潔に記述できる強力なツールです。

特に値に基づいた分岐が多くなる場合、if-elif-else文を使うよりも読みやすく、効率的にコードを記述できます。

Python 3.10以降で使用可能なこの新しい文法を活用することで、条件分岐の処理をさらに簡単に書くことができるでしょう。

Python練習問題2-4:条件分岐(match文)を使って動物の鳴き声を表示しよう

【Python】勉強猫がノートパソコンに向かい、練習問題に挑戦する様子。記事内の休憩用イラスト

ユーザーが入力した動物の名前に応じて、その動物の鳴き声を表示するプログラムを作成してください。

問題の詳細条件

以下の要件に従ってコードを完成させてください。

  • input関数を使って、ユーザーから動物の名前(「犬」「猫」「鳥」)を入力してもらうこと。
  • match文を使用し、入力された動物の名前に応じて異なる鳴き声を表示すること。
  • 「犬」が入力された場合は「ワンワン」と表示すること。
  • 「猫」が入力された場合は「ニャーニャー」と表示すること。
  • 「鳥」が入力された場合は「ピーピー」と表示すること。
  • その他の動物が入力された場合は「その動物は記録されていません。」と表示すること。

ただし、以下のような実行結果となるコードを書くこと。

動物の名前を入力してください(犬/猫/鳥): 犬
ワンワン
動物の名前を入力してください(犬/猫/鳥): ライオン
その動物は記録されていません。

問題の答え合わせと解説

この問題の一つの正解例とそのコードの解説を以下に示します。

一つの正解例

例えば以下のようなプログラムが考えられます。

Q
正解コード
# ユーザーが入力した動物の名前によって、それぞれの鳴き声を表示するプログラム
# 使用文法: 条件分岐(match文)

# ユーザーに動物の名前を入力してもらう
animal = input("動物の名前を入力してください(犬/猫/鳥): ")

# 条件分岐(match文)を使って入力された動物に応じた鳴き声を表示する
match animal:
    case "犬":
        print("ワンワン")
    case "猫":
        print("ニャーニャー")
    case "鳥":
        print("ピーピー")
    case _:
        print("その動物は記録されていません。")

正解例の詳細解説

非常にシンプルなコードのため解説はありません。

難しいと感じる方は上記の解説を見返してみてください。

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson2-3 条件分岐(if-elef文)を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson2-5 繰り返処理(while文)を理解しよう

質問用コンタクトフォーム

この記事はAIを用いて書いた記事です。

人間の目による確認も行っていますが、もし間違い等ありましたらご指摘頂けると大変助かります。

Python記事一覧へ戻る
トップページへ戻る

記事URLをコピーしました