কন্ডিশন হচ্ছে শর্ত। আর কন্ডিশনাল লজিকে এক বা একাধিক শর্ত থাকতে পারে। তার ফলাফল হবে দুই রকম – সত্য (true) বা মিথ্যা (false)।
এই শর্ত চেক করার জন্য আমরা if-else statement ব্যবহার করবো। যদি কোন শর্ত সত্য হয় তবে আমরা ঐ শর্তের কাজটি করবো আর যদি মিথ্যা হয় তবে অন্য একটি কাজ করবো।
If-else statement স্ট্রাকচার
মনে করো তোমার বন্ধুর বয়স ২৩ বছর।প্রাপ্ত বয়স্ক মানুষের বয়স ১৮ বছর।তোমার বন্ধু প্রাপ্ত বয়স্ক কিনা কিভাবে চেক করবে?
আমরা প্রথমে একটা ভেরিয়েবল age নিলাম যাতে বন্ধুর বয়স 23 এসাইন করলাম।এরপর প্রথম শর্তে লিখলাম যদি ভ্যারিয়েবলের মান 18 এর সমান বা বড় হয় তবে He is adult লিখা প্রিন্ট করতে।কিন্তু ১৮ এর সমান বা বড় না হলে He is not adult লিখা প্রিন্ট করতে।
ইন্ডেন্টেশন ( Indentation )
তুমি যদি অন্য কোন প্রোগ্রামিং ল্যাংগুয়েজ এর আগে শিখে থাক তাহলে তুমি কিন্তু অলরেডি খেয়াল করেছ অন্য ল্যাংগুয়েজের মতো পাইথনে সেমিকোলন( ; ) বা ব্লক বুঝাতে কারলি ব্র্যাকেট/দ্বিতীয় বন্ধনী{} ব্যবহার করা হয় না।
তাহলে ইন্ট্রাপ্রেটর কিভাবে বুঝবে কোড ব্লক কোনটুকু?
আমাদের আগের সমস্যাটার কথাই চিন্তা করো।যদি প্রথম শর্তে print("He is adult") ছাড়াও আরো একটি কাজ print("He is a college boy") প্রিন্ট করাতে চাই ।
তাহলে ইন্ট্রাপ্রেটর কিভাবে বুঝবে কোড ব্লক কোনটুকু?
আমাদের আগের সমস্যাটার কথাই চিন্তা করো।যদি প্রথম শর্তে print("He is adult") ছাড়াও আরো একটি কাজ print("He is a college boy") প্রিন্ট করাতে চাই ।
এই নতুন কাজটি কিন্তু if ব্লকের মাঝেই।এটি বুঝাতেই ব্যবহার করা হয় ইন্ডেন্টেশন( Indentation )।
ইন্ডেন্টেশন হচ্ছে নির্দিষ্ট সংখ্যক স্পেস। সাধারণত এক ট্যাব বা চারটি স্পেস কে স্ট্যান্ডার্ড ধরা হয়।
তোমার কীবোর্ডের একদম বামদিকে দেখ Tab key আছে,ওইটি চাপ দিয়েই ইন্ডেন্টেশন করা হয়। পাইথনে স্পেসিং বা ইন্ডেন্টেশন অনেক বেশি গুরুত্বপূর্ণ। কারণ পাইথনে কোড ব্লক বুঝানাের জন্য কোন ব্র্যাকেট ব্যবহার করা হয় না৷ তাই ক্লাস বা ফাংশন লিখার সময় কোড ব্লকের শুরু বা শেষ বুঝাতে ইন্ডেন্টেশনের ব্যবহার করা হয়।
এবার ইন্ডেন্টেশন ছাড়া উপরের কোডটি রান করে দেখ কি আসে,দেখবে error দেখাচ্ছে।
ইন্ডেন্টেশন হচ্ছে নির্দিষ্ট সংখ্যক স্পেস। সাধারণত এক ট্যাব বা চারটি স্পেস কে স্ট্যান্ডার্ড ধরা হয়।
তোমার কীবোর্ডের একদম বামদিকে দেখ Tab key আছে,ওইটি চাপ দিয়েই ইন্ডেন্টেশন করা হয়। পাইথনে স্পেসিং বা ইন্ডেন্টেশন অনেক বেশি গুরুত্বপূর্ণ। কারণ পাইথনে কোড ব্লক বুঝানাের জন্য কোন ব্র্যাকেট ব্যবহার করা হয় না৷ তাই ক্লাস বা ফাংশন লিখার সময় কোড ব্লকের শুরু বা শেষ বুঝাতে ইন্ডেন্টেশনের ব্যবহার করা হয়।
এবার ইন্ডেন্টেশন ছাড়া উপরের কোডটি রান করে দেখ কি আসে,দেখবে error দেখাচ্ছে।
দুইয়ের বেশি শর্তে কী করবো??
এবার আগের সমস্যাটার সাথেই নতুন কিছু যোগ করা যাক,তোমার বন্ধুর বয়স ১৩। যদি বয়স ১০ বছর বা তার কম হয় তবে দেখাবে He is a Child, যদি ১১ বছর বা তার বেশি কিন্তু ১৮ বছরের কম হয় তবে He is a Teenage এবং ১৮ বছর বা তার বেশি হলে প্রিন্ট হবে He is an Adult.
বুলিয়ান অপারেশন্স
পাইথন কন্ডিশনাল স্টেটমেন্ট ব্যবহারের সময় আমরা প্রায়ই ( and, or, not) এই তিনটি শব্দ ব্যবহার করি। এগুলােই হচ্ছে বুলিয়ান অপারেশন্স। পাইথন ডকুমেন্টেশন অনুযায়ী এদের প্রায়ােরিটি অর্ডার হচ্ছে, or, and তারপর not.
- or - যখন কন্ডিশনে দেয়া স্টেটমেন্ট গুলাের মাঝে কমপক্ষে একটি সত্য হয় তখন আউটপুট পাওয়া যায়।
- and- কন্ডিশনের সব স্টেটমেন্টস সত্য হলেই কেবল মাত্র আউটপুট পাওয়া যায়।
- not- যখন কন্ডিশনাল টা মিথ্যা হয় তখন আউটপুট পাওয়া যায়, কন্ডিশনাল সত্য হলে আউটপুট পাওয়া যায় না।
আমার লাইফের রিয়েল-টাইম আপডেট পেতে ফলো করতে পারো ইন্সট্রাগ্রামে: https://www.instagram.com/shemanto_sharkar/
Support my blog: ব্লগের কন্টেন্ট এবং টেলিগ্রাম চ্যানেল যদি আপনার লাইফে কিছুটা হলেও ইম্পেক্ট ফেলে থাকে তবে আপনি চাইলে এক কাপ কফি কিনে আমাকে সাহায্য করতে পারেন,এতে করে আমি আমার ব্লগ এড ফ্রি ভাবে চালিয়ে যেতে পারবো-