পাইথন জেম- ৭ (Boolean logics)

পাইথন সম্পর্কে আরও গভীরে যাওয়ার আগে আমাদের Boolean logics সম্পর্কে জানতে হবে। Boolen logics হচ্ছে computer science এর ভিত্তি।

আমি এখানে Learn Python the hard way বইয়ের Boolean logics সম্পর্কে থাকা চাপ্টারগুলো বাংলায় অনুবাদ করে দিচ্ছি।

প্রোগ্রামিংয়ের সব ক্ষেত্রেই Boolean Logics ব্যবহৃত হয়। এরা হচ্ছে computation এর ভিত্তি এবং এদের  সম্পর্কে ভালো জানা এবং মিউজিকের ক্ষেত্রে নিজের সুরের স্কেল সম্পর্কে অবগত থাকা একই কথা।

The Truth Terms

কম্পিউটারের লজিক হচ্ছে প্রোগ্রামে লেখা ক্যারেক্টার বা শব্দগুলো কোন নির্দিষ্ট ক্ষেত্রে সত্য কিনা তা চেক করা। কোন বাক্য সত্য নাকি মিথ্যা তা নির্ণয়ের জন্য পাইথনে নিচের টার্মগুলো ব্যবহার হয়-

  • and
  • or
  • not
  • != (not equal)
  • == (equal)
  • >= (greater than equal)
  • <= (less than equal)
  • True
  • False

এখানে and (এবং), or(অথবা) এবং not(না)  অনেকটা আমরা কথা বলার সময় এদেরকে যেভাবে ব্যবহার  করি ঠিক সেভাবেই কাজ করে। যেমন-

or- দুটো বাক্যের যেকোন একটা সত্য হলেই ‘সত্য’। অনেকটা বাংলায় আমরা যেভাবে বলি – আমার কলম অথবা পেন্সিল লাগবে। অর্থাৎ কলম অথবা পেন্সিলের যেকোন একটা পেলেই আমার চলবে।

and- সত্য হতে হলে দুটো বাক্যই সত্য হতে হবে। যেমন আমরা অনেকসময় বলি- আমার কলম এবং পেন্সিল দুটোই লাগবে। অর্থাৎ কলম এবং পেন্সিলের কোন একটা  যদি আমি না পাই তবে আমার সমস্যা হবে।

not- এটা হচ্ছে কোন শব্দের “বিপরীত” শব্দ বের করার মত। অর্থাৎ “হ্যা” থাকলে not সেটাকে “না” করবে।

নিচের টেবিলগুলো দেখলে ব্যাপারটা আরও পরিষ্কার হবে।

The Truth Tables

 

NOT True?
not False True
not True False

 

OR True?
True or False True
True or True True
False or True True
False or False False

 

AND True?
True and False False
True and True True
False and True False
False and False False

 

NOT OR True?
not (True or False) False
not (True or True) False
not (False or True) False
not (False or False) True

 

NOT AND True?
not (True and False) True
not (True and True) False
not (False and True) True
not (False and False) True

 

!= True?
1 != 0 True
1 != 1 False
0 != 1 True
0 != 0 False

 

== True?
1 == 0 False
1 == 1 True
0 == 1 False
0 == 0 True

 

নিচের statementগুলোর ফলাফল নিজে নিজে বের করতে পারলেই লজিকের ব্যাপারতা আয়ত্বে চলে আসবে।

১) True and True

২) False and True

৩) 1 == 1 and 2 == 1

৪) "test" == "test"

৫) 1 == 1 or 2 != 1

৬) True and 1 == 1

৭) False and 0 != 0

৮) True or 1 == 1

৯) "test" == "testing"

১০) 1 != 0 and 2 == 1

১১) "test" != "testing"

১২) "test" == 1

১৩) not (True and False)

১৪) not (1 == 1 and 0 != 1)

১৫) not (10 == 1 or 1000 == 1000)

১৬) not (1 != 10 or 3 == 4)

১৭) not ("testing" == "testing" and "Zed" == "Cool Guy")

১৮) 1 == 1 and not ("testing" == 1 or 1 == 0)

১৯) "chunky" == "bacon" and not (3 == 4 or 3 == 3)

২০) 3 == 3 and not ("testing" == "testing" or "Python" == "Fun")

উপরের প্রশ্নগুলোর উত্তর বের করার জন্য কিছু টিপসঃ

১) একটা equality test (== or !=) খুঁজে বের করুন এবং এটাকে তার Truth দিয়ে replace করুন।

২) বন্ধনীর ভিতরে থাকা and/or খুঁজে বের করুন এবং সবার আগে তা সমাধান করুন।

৩) প্রতিটা not খুঁজে বের করুন এবং সে অনুসারে বিপরীত শব্দটা বের করুন।

৪) তারপর বাকি and/or বের করুন এবং তা সমাধান করুন।

৫) এতক্ষণে True এবং False বের হয়ে আসার কথা।

 

উদাহরণস্বরূপ ২০ নং টার মত একটা বাক্যের সমাধান বের করে দেখা যাক-

3 != 4 and not (“testing” != “test” or “Python” == “Python”)

১) প্রতিটা equality test (== or !=) খুঁজে বের করে সমাধান করা:-

i) 3 != 4 হচ্ছে True:

       তাহলে যা দাড়াচ্ছে True and not ("testing" != "test" or "Python" == "Python") ।

ii) "testing" != "test" হচ্ছে True:

তাহলে True and not (True or "Python" == "Python") ।

iii) "Python" == "Python" হচ্ছে True: 

তাহলে True and not (True or True) ।

 

২) বন্ধনীর ভিতরে থাকা and/or খুঁজে বের করে সমাধান করা:-

i) (True or True) হচ্ছে True:

তাহলে True and not (True) ।

 

৩) প্রতিটা not খুঁজে বের করা এবং সে অনুসারে বিপরীত শব্দ ব্যবহার করা:-

i) not (True) হচ্ছে False:

তাহলে True and False ।

 

৪) বাকি and/or বের করে সমাধান করা:-

i) True and False হচ্ছে False ।

 

৫) এতক্ষণে আমাদের সমাধান False বের হয়ে এসেছে ।

 

 

আজকে এই পর্যন্তই !

 

 

বিঃদ্রঃ ‘ !=’  এবং  ‘==’  এর বাইরেও কিছু equality operator পাইথনে আছে। (ex: <, <==) গুগলের সাহায্য নিয়ে এগুলো সম্পর্কে জানার চেষ্টা করুন।

 

 

Md. Noor Faizur Reza
Author: Md. Noor Faizur Reza

আমার যে কাজ ভালো লাগে তা নিয়ে সারাদিন পরে থাকি !

Permanent link to this article: https://www.borgomul.com/rezanur/2680/


মন্তব্য করুন আপনার ফেসবুক প্রোফাইল ব্যবহার করে

মন্তব্য করুন