Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
    1. コメント
    2. if による条件分岐
    3. while による繰り返し
    4. for による繰り返し
    5. range による数値シーケンス
    6. enumerate による繰り返し
    7. zip による繰り返し
    8. match による条件分岐
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

Python の制御構文

match による条件分岐

Python のバージョン 3.10 から match による条件分岐が利用できるようになりました.例えば,大学の授業の成績(S, A, B, C, D のいずれか)を与えると,その成績に応じたメッセージを表示するようにしてみます.


grade = "S"

match grade:
    case "S":
        print("大変良くできました")
    case "A":
        print("良くできました")
    case "B":
        print("できました")
    case "C":
        print("なんとか合格です")
    case "D":
        print("不合格です")
大変良くできました

上と同じ処理を if 文を使って次のよう書くこともできます.しかしながら,match を使うとより直感的で読みやすいコードになります.


grade = "S"

if grade == "S":
    print("大変良くできました")
elif grade == "A":
    print("良くできました")
elif grade == "B":
    print("できました")
elif grade == "C":
    print("なんとか合格です")
elif grade == "D":
    print("不合格です")
大変良くできました

今度は「合格」か「不合格」だけの判定をしてみましょう.このときは | で「または」という意味の条件を指定することになります.


grade = "C"

match grade:
    case "S" | "A" | "B" | "C":
        print("合格です")
    case "D":
        print("不合格です")
合格です

次は1〜3の整数で条件分岐を行います.条件判断するための変数が整数型の場合は case 1: のように1" " で囲わないことに注意してください.さらにどれにも該当しなかった場合に何らかの処理を行いたい場合は case _: を利用します.


value = int(input("1から3の値を入力してください: "))

match value:
    case 1:
        print("今日は慎重に行動しよう")
    case 2:
        print("今日はチャンスに恵まれる日")
    case 3:
        print("新しいことを始めよう")
    case _:
        print("正しい数値を入力してね")
1から3の値を入力してください:  3 ⏎
新しいことを始めよう

目次に戻る