আপনি যখন শর্তসাপেক্ষ বিবৃতি নিয়ে কাজ করছেন, আপনি বিবৃতিতে একাধিক তুলনা করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি দুটি বিবৃতি সত্যে মূল্যায়ন করে কিনা বা দুটি বিবৃতির মধ্যে একটি মিথ্যাতে মূল্যায়ন করে কিনা তা পরীক্ষা করতে চাইতে পারেন।
এখানেই পাইথন লজিক্যাল অপারেটর আসে। লজিক্যাল অপারেটর হল একটি বিশেষ ধরনের অপারেটর যা আপনাকে শর্তসাপেক্ষ বিবৃতিতে একাধিক যৌক্তিক তুলনা করতে দেয়।
এই টিউটোরিয়ালটি উদাহরণ সহ, অপারেটরগুলির মূল বিষয়গুলি এবং পাইথনে দেওয়া তিনটি লজিক্যাল অপারেটর কীভাবে ব্যবহার করতে হয় তা নিয়ে আলোচনা করবে।
পাইথন অপারেটর
একটি অপারেটর হল একটি প্রতীক যা পাইথনে একটি বিশেষ অপারেশন নির্দেশ করে। উদাহরণস্বরূপ, বিয়োগ চিহ্ন (-) অপারেটর একটি বিয়োগ ক্রিয়া নির্দেশ করে।
পাইথনে, তিনটি ভিন্ন ধরনের অপারেটর রয়েছে। এইগুলো:
- পাটিগণিত অপারেটর:এগুলি আপনাকে একটি প্রোগ্রামে গাণিতিক ক্রিয়াকলাপ সম্পাদন করতে দেয়৷
- তুলনা অপারেটর:এগুলি আপনাকে মান তুলনা করতে দেয় এবং সত্য বা মিথ্যা ফেরত দেয়।
- লজিক্যাল অপারেটর:এগুলো আপনাকে শর্তসাপেক্ষ বিবৃতি একত্রিত করতে দেয়।
দ্বিতীয় দুটি অপারেটর - তুলনা এবং যৌক্তিক - প্রোগ্রামারদের একটি প্রোগ্রামের প্রবাহকে আরও ভালভাবে নিয়ন্ত্রণ করার অনুমতি দেয়। উদাহরণস্বরূপ, একটি শর্ত সত্য কিনা তা পরীক্ষা করতে আপনি তুলনা অপারেটর ব্যবহার করতে পারেন এবং যদি তা হয় তবে আপনার প্রোগ্রামে কোডের একটি নির্দিষ্ট ব্লক চালান।
তুলনা এবং যৌক্তিক অপারেটর প্রায়ই একটি if
দিয়ে ব্যবহার করা হয় বিবৃতি উদাহরণস্বরূপ, ধরুন আমরা একটি অনলাইন শপিং সাইটের ব্যবহারকারীর বয়স 16 বা তার বেশি কিনা তা পরীক্ষা করতে চেয়েছিলাম। আমরা এই কোডটি ব্যবহার করে তা করতে পারি:
age = 17 if age >= 16: print("User is 16 or over!") else: print("User is under 16!")
আমাদের কোড ফিরে আসে:ব্যবহারকারীর বয়স 16 বা তার বেশি!
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
এই প্রোগ্রামে, আমরা তুলনা করার জন্য একটি তুলনা অপারেটর ব্যবহার করেছি যে ব্যবহারকারীর বয়স, যা এই ক্ষেত্রে 17 এর সমান, এটি 16 এর চেয়ে বেশি বা সমান। কারণ 17 16-এর চেয়ে বড়, এই বিবৃতিটি সত্য হিসাবে মূল্যায়ন করা হয়েছে এবং বার্তা User is 16 or over!
কনসোলে প্রিন্ট করা হয়েছিল।
কিন্তু আমরা যদি একটি if
এ একাধিক তুলনা চালাতে চাই তাহলে কী হবে বিবৃতি? সেখানেই লজিক্যাল অপারেটররা আসে।
পাইথন লজিক্যাল অপারেটর
পাইথন তিনটি লজিক্যাল অপারেটর অফার করে যা আপনাকে মান তুলনা করতে দেয়।
এই লজিক্যাল অপারেটররা বুলিয়ান মানের অভিব্যক্তি মূল্যায়ন করে এবং অপারেটরের ফলাফলের উপর নির্ভর করে সত্য বা মিথ্যা ফেরত দেয়। পাইথন দ্বারা অফার করা তিনটি লজিক্যাল অপারেটর নিম্নরূপ:
নাম | বিবরণ | উদাহরণ |
এবং | সত্য যদি উভয় অভিব্যক্তি সত্য হয় | a এবং b |
বা | সত্য যদি অন্তত একটি অভিব্যক্তি সত্য হয় | a বা b |
না | একটি অভিব্যক্তি মিথ্যা হলেই সত্য | একটি নয় |
লজিক্যাল অপারেটরগুলি সাধারণত দুটি বা ততোধিক অভিব্যক্তি একটি নির্দিষ্ট উপায়ে মূল্যায়ন করে কিনা তা মূল্যায়ন করতে ব্যবহৃত হয়।
এই যৌক্তিক অপারেটরগুলি কীভাবে কাজ করে তা ব্যাখ্যা করার জন্য আসুন কয়েকটি উদাহরণ অন্বেষণ করি। আমরা আগের থেকে আমাদের অনলাইন শপিং উদাহরণে ফিরে যাব।
পাইথন এবং অপারেটর
এবং অপারেটর সত্যে মূল্যায়ন করে যদি নির্দিষ্ট করা সমস্ত অভিব্যক্তি সত্যে মূল্যায়ন করে।
ধরুন আমরা একটি অনলাইন শপিং সাইট তৈরি করছি। ব্যবহারকারীর বয়স 16-এর বেশি তা নিশ্চিত করার জন্য আমাদের সাইটটি পরীক্ষা করা উচিত এবং এটি নিশ্চিত করা উচিত যে একজন ব্যবহারকারীর একটি অ্যাকাউন্ট ভাল অবস্থানে আছে। এটি করার জন্য, আমরা এই কোডটি ব্যবহার করতে পারি:
age = 17 good_standing = True if (age >= 16) and (good_standing == True): print("This user's account can make a purchase.") else: print("This user's account cannot make a purchase.")
আমাদের কোড রিটার্ন:এই ব্যবহারকারীর অ্যাকাউন্ট একটি ক্রয় করতে পারে.
আমাদের কোডে, আমরা একটি and
ব্যবহার করেছি একজন ব্যবহারকারীর বয়স 16 বা তার বেশি কিনা তা মূল্যায়ন করার জন্য এবং একজন ব্যবহারকারীর অ্যাকাউন্ট ভাল অবস্থায় আছে কিনা তা মূল্যায়ন করার জন্য বিবৃতি। এই ক্ষেত্রে, age >= 16
মূল্যায়ন করা হয়, তারপর good_standing == True
মূল্যায়ন করা হয়। যেহেতু এই উভয় বিবৃতি সত্যে মূল্যায়ন করে, তাই আমাদের if
এর বিষয়বস্তু বিবৃতি কার্যকর করা হয়।
যদি এই শর্তগুলির যেকোন একটিকে ফলস হিসাবে মূল্যায়ন করা হয়—যদি একজন ব্যবহারকারী 16 বছরের কম হয়, অথবা এমন একটি অ্যাকাউন্ট থাকে যা ভাল অবস্থানে ছিল না—তাহলে আমাদের else
এর বিষয়বস্তু বিবৃতি কার্যকর করা হবে.
পাইথন বা অপারেটর
বা অপারেটর সত্যে মূল্যায়ন করে যদি অন্তত একটি অভিব্যক্তি সত্যকে মূল্যায়ন করে।
ধরুন আমরা সমস্ত ক্রেতাদের একটি 5% ছাড় দিতে চাই যারা আমাদের লয়্যালটি প্ল্যানে সদস্যতা নিয়েছে এবং 65 বছর বা তার বেশি বয়সী যারা কেনাকাটা করছে তাদের সকলকে ছাড় দিতে চাই। এটি করার জন্য, আমরা নিম্নলিখিত প্রোগ্রামটি ব্যবহার করতে পারি:
loyalty_plan = False age = 67 if (loyalty_plan == True) or (age >= 65): discount = 5 else: discount = 0 print("Shopper discount: ", discount)
আমাদের কোড রিটার্ন:ক্রেতা ডিসকাউন্ট:5.
এই ক্ষেত্রে, আমাদের কোড loyalty_plan
কিনা তা মূল্যায়ন করে সত্যের সমান, এবং এটি age
কিনা তাও মূল্যায়ন করে 65 এর সমান বা তার বেশি। এই ক্ষেত্রে, loyalty_plan সত্যের সমান নয়, তাই সেই বিবৃতিটি False-এ মূল্যায়ন করে। কিন্তু, বয়স 65-এর বেশি, এবং তাই সেই বিবৃতিটিকে সত্য বলে মূল্যায়ন করা হয়।
কারণ আমরা একটি or
নির্দিষ্ট করেছি আমাদের কোডের বিবৃতি এবং আমাদের শর্তগুলির মধ্যে একটিকে সত্য হিসাবে মূল্যায়ন করা হয়েছে, আমাদের if
এর বিষয়বস্তু বিবৃতি চালানো হয়. যাইহোক, যদি আমাদের ব্যবহারকারী আমাদের লয়্যালটি প্ল্যানে না থাকে এবং 65 বছরের কম বয়সী হয়, তাহলে আমাদের else
এর বিষয়বস্তু বিবৃতি চালানো হবে.
এই ক্ষেত্রে, আমাদের ব্যবহারকারীকে 5% ছাড় দেওয়া হয়েছিল। তারপরে, Shopper discount:
বার্তা , ব্যবহারকারীর ডিসকাউন্টের আকার অনুসরণ করে, কনসোলে প্রিন্ট করা হয়েছিল।
পাইথন অপারেটর নয়
নট অপারেটর সত্যে মূল্যায়ন করে শুধুমাত্র যদি একটি অভিব্যক্তি False এ মূল্যায়ন করে।
ধরুন আমাদের ডিসকাউন্ট শুধুমাত্র একবার ব্যবহার করা হবে, এবং আমরা শুধুমাত্র সেইসব গ্রাহকদের জন্য ডিসকাউন্ট দিতে চাই যারা ইতিমধ্যেই তাদের ডিসকাউন্ট ব্যবহার করে কেনাকাটা করেনি। আমরা এই কোডটি ব্যবহার করে তা করতে পারি:
used_discount = True if not(used_discount == True): print("This user has not used their discount.") else: print("This user has used their discount.")
আমাদের কোড ফেরত:এই ব্যবহারকারী তাদের ডিসকাউন্ট ব্যবহার করেননি.
আমাদের কোডে, বিবৃতি used_discount == True
কিনা তা মূল্যায়ন করতে আমরা একটি বিবৃতি ব্যবহার করি না False এ মূল্যায়ন করে। এই ক্ষেত্রে, কারণ বিবৃতিটি সত্য হিসাবে মূল্যায়ন করে, বিবৃতিটি not
False এ মূল্যায়ন করে। এর ফলে আমাদের else
-এ কোড পাওয়া যায় ব্লক কার্যকর করা হচ্ছে।
আমাদের ব্যবহারকারী তাদের ডিসকাউন্ট ব্যবহার না করলে, used_discount == True
False এ মূল্যায়ন করা হবে, তাই আমাদের not
বিবৃতিটি সত্যে মূল্যায়ন করবে এবং আমাদের if
এর বিষয়বস্তু বিবৃতি কার্যকর করা হবে.
উপসংহার
লজিক্যাল অপারেটর আপনাকে আপনার প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে দেয়।
এবং লজিক্যাল অপারেটর আপনাকে দুটি এক্সপ্রেশন সত্য কিনা তা পরীক্ষা করার অনুমতি দেয়, বা লজিক্যাল অপারেটর আপনাকে একাধিক এক্সপ্রেশনের একটি সত্য কিনা তা পরীক্ষা করতে দেয় এবং অপারেটরটি আপনাকে একটি অভিব্যক্তি মিথ্যা কিনা তা পরীক্ষা করতে দেয়।
এই নিবন্ধে দেওয়া উদাহরণগুলির সাহায্যে, আপনার পাইথন কোডে একজন বিশেষজ্ঞের মতো লজিক্যাল অপারেটর ব্যবহার করা শুরু করার জন্য আপনার যা কিছু দরকার তা দিয়ে আপনি সজ্জিত!