offSchoolবেটা

তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬ · টপিক ৭

match স্টেটমেন্ট

পড়ার নোট

অনেক সম্ভাবনার মধ্য থেকে একটি কাজ বেছে নিতে অনেকগুলো elif-এর বদলে match স্টেটমেন্ট ব্যবহার করা যায়। elif-এ শর্ত বা রিলেশনাল এক্সপ্রেশন দেখে বাছাই হয়, কিন্তু match-এ সাধারণত একটি ভ্যারিয়েবলের মান দেখে বাছাই হয়।

ফরম্যাট:

match MatchExp:
    case Value1:
        Block1
    case Value2:
        Block2
    case _:
        DefaultBlock
  • match-এর পরের এক্সপ্রেশনকে বলে ম্যাচ এক্সপ্রেশন। তার পরেও কোলন দিতে হয়।
  • প্রতিটি case-এর পর সম্ভাব্য একটি মান ও কোলন থাকে।
  • সবার শেষে case _: ডিফল্ট ব্লক। কোনো মানের সঙ্গে না মিললে এটি চলে।

উদাহরণ, সংখ্যা থেকে বারের নাম:

day = int(input('Enter day number (1-3): '))
match day:
    case 1:
        print('Saturday')
    case 2:
        print('Sunday')
    case 3:
        print('Monday')
    case _:
        print('Not in this list')

২ দিলে Sunday, ৯ দিলে Not in this list আসে।

আরেকটি উদাহরণ, ছোট হাতের ইংরেজি অক্ষর স্বরবর্ণ (vowel) না ব্যঞ্জনবর্ণ (consonant), তা জানা:

char = input('Enter the letter: ')
match char:
    case "a":
        print(char, 'is a vowel')
    case "e":
        print(char, 'is a vowel')
    case "i":
        print(char, 'is a vowel')
    case "o":
        print(char, 'is a vowel')
    case "u":
        print(char, 'is a vowel')
    case _:
        print(char, 'is a consonant')

a দিলে a is a vowel, d দিলে d is a consonant।

মনে রাখো: match একটি মান ধরে মিলিয়ে case বেছে নেয়, আর কিছু না মিললে case _ চলে।

২০২৬ সালের NCTB পাঠ্যবই অনুসরণ করে লেখা।

চালিয়ে দেখো

  • match স্টেটমেন্ট: কোন দিন ছুটিচালিয়ে দেখো

    রাফি একটি প্রোগ্রাম লিখল যা দিনের নাম দেখে বলে স্কুল খোলা নাকি ছুটি। match day: এর নিচে case "Fri" | "Sat" থাকলে Holiday, case "Sun" | "Mon" | "Tue" | "Wed" | "Thu" থাকলে School day, আর case _ থাকলে Not a day ছাপা হয়। ভুল করে day = "Funday" দিলে কী ছাপা হবে?

এই টপিক নিয়ে প্রশ্ন আছে?

মেন্টরকে বাংলায় বা ইংরেজিতে জিজ্ঞেস করো, বা খাতার ছবি দাও। সিমুলেশন চালিয়ে বুঝিয়ে দেবে।

মেন্টরকে জিজ্ঞেস করো