Numeric Datatype (bool & complex) in Bengali

পাইথনের আরও দুই শক্তি: Boolean এবং Complex ডেটা টাইপ

পাইথনের আরও দুই শক্তি: Boolean এবং Complex ডেটা টাইপ

আগের পোস্টে আমরা পাইথনের সংখ্যাভিত্তিক (Numeric) ডেটা টাইপের মধ্যে int এবং float সম্পর্কে জেনেছি। কিন্তু সংখ্যার জগৎ কি শুধু পূর্ণসংখ্যা আর দশমিকেই সীমাবদ্ধ? না! পাইথনের ঝুলিতে আরও দুটি চমৎকার নিউমেরিক ডেটা টাইপ রয়েছে: Boolean (`bool`) এবং Complex (`complex`)

এই দুটি ডেটা টাইপ প্রোগ্রামিং-এ সিদ্ধান্ত গ্রহণ এবং জটিল গাণিতিক সমস্যা সমাধানের জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনি যদি প্রোগ্রামিং-এ নতুন হন, তাহলে এই ধারণা দুটি আপনার জন্য বিশেষভাবে আকর্ষণীয় হতে পারে।

চলুন, এই দুটি ডেটা টাইপের রহস্য উন্মোচন করা যাক।


১. Boolean (`bool`): হ্যাঁ অথবা না-এর জগৎ

Boolean ডেটা টাইপকে একটি লাইট সুইচের মতো ভাবতে পারেন, যার মাত্র দুটি অবস্থা থাকতে পারে: অন (True) অথবা অফ (False)। প্রোগ্রামিং-এ শর্ত (Condition) পরীক্ষা করে সিদ্ধান্ত নেওয়ার জন্য bool অপরিহার্য।

ক) ঘোষণা এবং ইনিশিয়ালাইজেশন

একটি Boolean ভেরিয়েবল তৈরি করার জন্য আমরা দুটি বিল্ট-ইন ধ্রুবক (Constant) ব্যবহার করি: True এবং False

গুরুত্বপূর্ণ: মনে রাখবেন, True-এর T এবং False-এর F অবশ্যই বড় হাতের (uppercase) হতে হবে।

# একটি Boolean ভেরিয়েবল তৈরি করা
is_logged_in = True
has_premium_access = False

print("লগইন স্ট্যাটাস:", is_logged_in)
print("প্রিমিয়াম স্ট্যাটাস:", has_premium_access)
print(type(is_logged_in)) # আউটপুট: <class 'bool'>
খ) Boolean এবং সংখ্যা

মজার ব্যাপার হলো, প্রতিটি Boolean মানের একটি সাংখ্যিক সমতুল্য (numeric equivalent) রয়েছে:

  • True এর সাংখ্যিক মান হলো 1
  • False এর সাংখ্যিক মান হলো 0
print("True এর সাংখ্যিক মান:", int(True))     # আউটপুট: 1
print("False এর সাংখ্যিক মান:", int(False))   # আউটপুট: 0
গ) Boolean-এর ব্যবহার কোথায়?

শর্তমূলক (Conditional) স্টেটমেন্টে Boolean-এর আসল শক্তি প্রকাশ পায়। যখন আমরা দুটি মানের মধ্যে তুলনা করি, তখন তার ফলাফল হিসেবে একটি Boolean মান (True বা False) পাই।

marks_obtained = 85
passing_marks = 50

# এখন আমরা একটি শর্ত পরীক্ষা করব
is_passed = marks_obtained >= passing_marks

print("ছাত্রটি কি পাশ করেছে?", is_passed) # আউটপুট: True

২. Complex (`complex`): জটিল সংখ্যার সমাধান

আপনি যদি গণিতে জটিল সংখ্যা (Complex Number) সম্পর্কে জেনে থাকেন, তাহলে আপনার জন্য সুখবর! পাইথন বিল্ট-ইনভাবে Complex ডেটা টাইপ সমর্থন করে। এটি বিজ্ঞান, ইঞ্জিনিয়ারিং এবং ডেটা সায়েন্সের মতো ক্ষেত্রে অত্যন্ত দরকারী।

ক) Complex Number কী?

গণিতে, একটি জটিল সংখ্যাকে a + bi আকারে লেখা হয়, যেখানে a হলো বাস্তব অংশ (Real part) এবং b হলো কাল্পনিক অংশ (Imaginary part)। i এর মান হলো √-1

খ) পাইথনে Complex Number

পাইথনে, কাল্পনিক অংশ বোঝানোর জন্য i এর পরিবর্তে j ব্যবহার করা হয়। কারণ প্রোগ্রামিং-এ লুপ (Loop) চালানোর জন্য i একটি বহুল ব্যবহৃত ভেরিয়েবল।

# একটি Complex ভেরিয়েবল তৈরি করা
complex_num_one = 7 + 4.5j
complex_num_two = -12 - 3j

print("প্রথম জটিল সংখ্যা:", complex_num_one)
print(type(complex_num_one)) # আউটপুট: <class 'complex'>
গ) complex() ফাংশনের ব্যবহার

আপনি complex() ফাংশন ব্যবহার করেও একটি জটিল সংখ্যা তৈরি করতে পারেন। এই ফাংশনটি দুটি আর্গুমেন্ট নেয়: প্রথমটি Real পার্ট এবং দ্বিতীয়টি Imaginary পার্ট।

# complex() ফাংশন দিয়ে তৈরি করা
complex_num_three = complex(9, -2) # এটি 9 - 2j তৈরি করবে
print("তৃতীয় জটিল সংখ্যা:", complex_num_three)

# শুধুমাত্র Real পার্ট দিয়ে তৈরি করা
complex_num_four = complex(15) # এটি 15 + 0j তৈরি করবে
print("চতুর্থ জটিল সংখ্যা:", complex_num_four)

উপসংহার

আজ আমরা পাইথনের আরও দুটি নিউমেরিক ডেটা টাইপ সম্পর্কে জানলাম:

  • bool: True বা False মান ধারণ করে এবং শর্তমূলক যুক্তিতে ব্যবহৃত হয়।
  • complex: a + bj আকারে জটিল সংখ্যা নিয়ে কাজ করার সুযোগ করে দেয়।

এই ডেটা টাইপগুলো পাইথনের টুলবক্সকে আরও সমৃদ্ধ করেছে এবং বিভিন্ন ডোমেইনে জটিল সমস্যা সমাধানের পথ খুলে দিয়েছে। এখন আপনার কাজ হলো এই উদাহরণগুলো নিজে চেষ্টা করে দেখা এবং বিভিন্ন মান দিয়ে পরীক্ষা করা।