মূলঃ The Python Modulo Operator - What Does the % Symbol Mean in Python? (Solved), লেখকঃ Beau Carnes

আপনি যখন % চিহ্নটি দেখেন তখন আপনার মনে হতে পারে যে হয়তো এর দ্বারা "শতাংশ" বা "percent" বুঝানো হয়েছে। কিন্তু পাইথন এবং অন্যান্য বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজে এই চিহ্নের একটি আলাদা অর্থ আছে।

পাইথনে % চিহ্নটিকে বলা হয় মডিউলো অপারেটর। এই অপারেটর, তার বাম পাশের অপার‍্যান্ডকে ডান পাশের অপার‍্যান্ড দ্বারা ভাগ করে, ভাগশেষটি রিটার্ন করে। অর্থাৎ ভাগ বা division operation এর ভাগশেষ বের করার জন্য এটি ব্যবহার করা হয়।

+, -, /, *, **, // এর পাশাপাশি মডিউলো অপারেটরটিকেও একটি অ্যারিথমেটিক অপারেটর হিসেবে ধরা হয়।

এই অপারেটরের বেসিক সিনট্যাক্সটি নিম্নরূপঃ

a % b


এই উদাহরণে, a কে b দ্বারা ভাগ করে ভাগশেষটি রিটার্ন করা হবে। এবার সংখ্যা ব্যবহার করে একটি উদাহরণ দেখা যাক।

7 % 2

এই উদাহরণের ফলাফল এক। কারণ সাতকে দুই দ্বারা তিনবার ভাগ করার পরে এক অবশিষ্ট থাকে।

নিম্নোক্ত ডায়াগ্রামে 7 / 2 এবং 7 % 2 এর ভিজুয়্যাল রিপ্রেজেন্টেশন দেখানো হল (এখানে "R" দ্বারা "remainder" বা ভাগশেষ বুঝানো হয়েছে)। সবার ডানে একক যে লোগোটি (যেটির দিকে একটি অ্যারো তাক করা আছে) সেটি হল এই ভাগের ভাগশেষ। এই ভাগশেষটিই 7 % 2 এর ফলাফল।

image-196

আরও একটি উদাহরণ দেখিঃ

3 % 4

এই অপারেশনের ফলাফল হবে তিন। কারণ চার, তিন এর থেকে বড় হওয়ায় তিনকে চার দ্বারা একবারও ভাগ করা যাবে না, তাই সম্পূর্ণ তিন টাই অবশিষ্ট থেকে যাবে। মনে রাখতে হবে, মডিউলো অপারেটর ভাগশেষ রিটার্ন করে। এখানে ভাগশেষ হবে তিন।

image-197

মডিউলো অপারেটর ব্যবহার করে আরও কিছু উদাহরণ

মডিউলো অপারেটরের একটি সাধারণ ব্যবহার হল জোড় বা বেজোড় সংখ্যা খুঁজে বের করা। নিম্নোক্ত কোডটি মডিউলো অপারেটর ব্যবহার করে ০ থেকে ১০ এর মধ্যে সবগুলি বেজোড় সঙ্খ্যা খুঁজে বের করে।

for number in range(1, 10):
    if(number % 2 != 0):
        print(number)

ফলাফলঃ

1
3
5
7
9