python-basic

⌘K
  1. Home
  2. Docs
  3. python-basic
  4. Logical Operators

Logical Operators

এর আগের গল্পে আমরা একটি শর্তের ভিত্তিতে প্রোগ্রাম করেছিলাম। কিন্তু এমন হতে পারে আমাদের দুই পক্ষের শর্ত থাকবে

Python Logical Operators

andদুইপক্ষের কন্ডিশনই সত্য হতে হবে। যদি কোনো পক্ষ মিথ্যা হয় তাহলে False রিটার্ন করবে
orযেকোনো একটি পক্ষের কন্ডিশন সত্য হলেই True রিটার্ন করবে
notকোনো পক্ষই সত্য হওয়া যাবে না । যদি কোনো পক্ষ সত্য হয় তাহলে False রিটার্ন করবে

যেমন আমরা একটি বিয়ের প্রোগ্রাম বানাচ্ছি যেখানে ছেলে ও মেয়ের বিয়ের বয়স হতে হবে যা আমরা একসাথে চেক করবো ।

আগে আমরা যে comparison অপারেটর একপক্ষের ডেটা চেক করেছি। যখন দুই পক্ষের কন্ডিশন চেক করার দরকার তখন লজিকাল অপারেটর ব্যবহার করবো।

(and) দুইপক্ষের কন্ডিশনই সত্য

''' মনেকরি ছেলে এবং মেয়ের দুই জনেরই বিবাহের জন্য বৈধ বয়স চেক করতে হবে যদি  কারো বয়স কম হয় তখন আমাদের প্রোগ্রাম False রিটার্ন করবে আমরা তখন বুঝবো এই বিবাহ সরকারি আইন অনুযায়ী বৈধ নয়। '''
x = 25;y=19
print(x > 21 and y > 18 ) # output True

(or ) যেকোন একপক্ষ সত্য হলেই হলো

যেহেতু বিয়ের পর ভরণ পোষণের ব্যাপার আছে তাই বর অথবা কোন দুইজনের একজনকে অবশ্যই রোজগার করতে হবে সেহেতু আমরা দেখতে চাইবো দুইজনের একজন রোজগার করে কিনা এ ক্ষেত্রে দুইজনের দুইজনই যদি রোজগার করে তাতে কোন সমস্যা নেই আবার একজন যদি রোজগার করে তাহলে একপক্ষের কন্ডিশন সত্য হবে। আর আমাদের দরকার দুইপক্ষ বা যেকোন একপক্ষ সত্য হলেই হলো।

#------- (or ) যেকোন একপক্ষ সত্য হলেই হলো  -------
xincome = 15000
yincome = 0
#আমরা এখানে বলেছি ছেলেকে অথবা মেয়েকে অবস্যই ৫০০০ টাকার বেশি ইনকাম করতে হবে
print(xincome > 5000 or yincome > 5000 ) #output True

(not ) কোনো পক্ষই সত্য হওয়া যাবে না

মনেকরি আমরা একটি প্রোগ্রাম লিখতে চাচ্ছি যা দ্বারা আমরা বুঝতে চাচ্ছি ছেলে এবং মেয়ে দুইজন ই সাবালক কিনা যদি দুই জনই সাবালক না হয় তখন হয় সত্য রিটার্ন করবে আর প্রোগামে আমরা বুঝবো যে দুইজনই নাবালক

#------- (not ) কোনো পক্ষই সত্য হওয়া যাবে না  -------
'''এই প্রোগ্রামে আমরা বলেছি দুইজনের বয়স কম কিন্তু আসলে দুইজনের বয়স ঠিক আছে তাই আমাদের দেয়া রায় মিথ্যা প্রমানিত হবে প্রোগ্রাম False রিটার্ন করবে '''
x = 25;y=19
print(not(x<21 and y<18)) #

আউটপুট ও ব্যাখ্যা :

Result : True

উদাহরণে, দুইটি ভেরিয়েবল x এবং y আছে এবং আপনি এটি not কীওয়ার্ডকে একটি কম্পাউন্ড এক্সপ্রেশনের সাথে ব্যবহার করেছেন যেটিতে and কীওয়ার্ডও ব্যবহার করা হয়েছে।

এটি ধাপে ধাপে প্রকাশ করা যাক:

১. x = 25; y = 19: আপনি দুটি ভেরিয়েবল x এবং y এর মান নির্ধারণ করেছেন, যাদের মান ক্রমশ 25 এবং 19।

২. x < 21: এই অভিব্যক্তি True ভ্যালুর প্রতিষ্ঠিত হয়েছে কারণ 25 এর মান 21 এর চেয়ে ছোট।

৩. y < 18: এই অভিব্যক্তি False ভ্যালুর প্রতিষ্ঠিত হয়েছে কারণ 19 এর মান 18 এর চেয়ে ছোট নয়।

৪. x < 21 and y < 18: এই কম্পাউন্ড অভিব্যক্তি দুইটি পূর্ববর্তী অভিব্যক্তি কে যুক্ত করার জন্য and কীওয়ার্ড ব্যবহার করে। and অপারেটর মাত্র যদি উভয় অপারেন্ড সত্য হয় তবে মোটামুটি True রিটার্ন করে। এই ক্ষেত্রে, একটি অপারেন্ড (y < 18) সেইবস্তু False হওয়ার কারণে, এই পূর্ণাঙ্গ অভিব্যক্তির মূল্য False হয়ে যায়।

৫. not (x < 21 and y < 18): not কীওয়ার্ডটি পূর্ববর্তী ধাপের পূর্ণাঙ্গ অভিব্যক্তির উপর প্রয়োগ করা হয়েছে। কারণ এই পূর্ণাঙ্গ অভিব্যক্তির মান False তাহলে not অপারেটরটি উল্টানো হয় এবং তার উল্টা মান হয় True।

৬. print(not (x < 21 and y < 18)): পূর্ববর্তী ধাপের প্রয়োগের ফলাফল True হওয়ায়, এই কোডের আউটপুট হবে:

True

How can we help?