পাইথন if else

প্রোগ্রামে আমাদের অনেক সময় বলা যায় প্রায় সব সময় বিভিন্ন সিদ্ধান্ত নিতে হয়। বাস্তব জীবনে আমরা যেমন সিদ্ধান্ত নেই, তেমন আরকি। যেমন আমরা কোন এক সকালে বিছানায় শুয়ে শুয়ে চিন্তা করছি। যদি আজ শুক্রবার হয়, তাহলে আরেকটু ঘুমাবো। আর যদি শুক্রবার না হয়, তাহলে দ্রুত ঘুম থেকে উঠতে হবে। প্রোগ্রামিং এ ও এমন অনেক সিদ্ধান্ত নিতে হয়। আর প্রোগ্রামিং এ সিদ্ধান্ত নেওয়ার জন্য রয়েছে if else। এগুলোকে কন্ডিশনাল লজিকও বলা হয়।

পাইথন if এবং else

কোন একটা এক্সপ্রেশন সত্যি কিনা, তা যাচাই এর জন্য if ব্যবহার করা হয়।
ধরা যাক আমাদের দুইটি সংখ্যা রয়েছে। একটার সাথে আরেকটা তুলনা করে দেখব প্রথমটা বড় কিনা। আর তা লিখতে পারি এভাবেঃ

x = 21

y = 19

if (x > y):

    print(‘x is greater than y')

এখানে x = 21 নিয়েছি, y = 19 নিয়েছি। এরপর if (x>y) দিয়ে যাচাই করেছি y থেকে x বড় কিনা। যেহেতু y থেকে x বড়, তাই প্রিন্ট করবে x is greater than y। এখন যদি x এর মান y থেকে ছোট কিছু বসিয়ে প্রোগ্রামটি রান করে দেখি, তাহলে কোন কিছুই প্রিন্ট করবে না।

এখন x যদি y থেকে ছোট হয়, তাহলে তো ইউজার কোন ম্যাসেজ পাবে না। আমরা চাচ্ছি ছোট হলেও ইউজারকে কোন একটা ম্যাসেজ দিব। আর তার জন্য রয়েছে else।

x = 15

y = 19

if (x > y):

    print('x is greater than y')

else:

    print(‘x is less than y’)

x = 15 নিয়েছি এবং y = 19 নিয়েছি। এরপর প্রথমে পরীক্ষা করেছি x কি থেকে বড়? যদি বড় হয়, তাহলে প্রিন্ট করতে বলেছি x is greater than y। এরপর else দিয়ে বলে দিয়েছি x যদি y থেকে বড় না হয়, তাহলে বলেছি x is less than y প্রিন্ট করতে।

কত সহজ! এই সহজ if else ব্যবহার করেই অনেক বড় বড় প্রোগ্রাম লিখে ফেলা যায়। বড় বড় যত প্রোগ্রামই আমরা লিখি না কেনো, আমাদের প্রায় সময়ই এই সহজ লজিক ব্যবহার করেই কোড লিখতে হয়।

এবার আমরা একটা ডাইনামিক প্রোগ্রাম লিখতে পারি। এই ছোট নাকি বড়, তা বের করার জন্য ইউজার থেকে নাম্বার গুলো ইনপুট নিতে পারি।

x = int(input('Enter 1st number: '))

y = int(input('Enter 2nd number: '))

if x > y:

    print("X is greater than y")

else:

    print("x is less than y")

কোন কোন ক্ষেত্রে আমাদের একের অধিক বার কন্ডিশন যাচাই করতে হতে পারে। উপরের প্রোগ্রামে আমরা মাত্র একটি বার কন্ডিশন যাচাই করেছি। তাই একটা if আর else দিয়েই কাজ হয়েছে। কিন্তু আমাদের হয়তো একের অধিক if ব্যবহার করতে হতে পারে। তখন ব্যবহার করতে পারি elif। যা অন্যান্য প্রোগ্রামিং এ সাধারণত else if দিয়ে পরিচিত। যেমন কোন কারণে যদি ইউজার দুইটা নাম্বারই একই ইনপুট দেয়, তাহলে তো উপরের প্রোগ্রাম তো ভুল আউটপুট দিবে। তাই আমরা দুইটা নাম্বার সমান কিনা, তাও যাচাই করে নিবঃ

x = int(input('Enter 1st number: '))
y = int(input('Enter 2nd number: '))
if x > y:
    print('x is greater than y')
elif x < y:
    print('x is less than y')
elif x == y:
    print('Both are equal')

আমরা এর আগের অধ্যায় গুলোতে জেনেছি দুইটা ভ্যারিয়েবল সমান কিনা, তা যাচাই করা হয় দুইটা সমান চিহ্ন দিয়ে।

আর আমরা এতক্ষণ যে if, elif, else ব্যবহার করেছি, এটাকে বলে কন্ট্রোল ফ্লো। উপরের প্রোগ্রাম আর আমরা বাস্তব জীবনে যেভাবে সিদ্ধান্ত নেই, দুইটাই একই রকম। আমরা সব সময়ই কথা বলার সময় বলে থাকি এটা হলে এটা করবে, না হলে ঐটা করবে। প্রোগ্রামিং এ জিনিসটাই হচ্ছে if else।

শর্ট হ্যান্ড if:

কিছু কিছু ক্ষেত্রে আমাদের শুধু একটা কন্ডিশন যাচাই করতে হতে পারে। সে ক্ষেত্রে আমরা শর্ট হ্যান্ডে if কন্ডিশন ব্যবহার করতে পারি। যেমনঃ

x = 21
y = 19
if x > y:
 print('x is greater than y’)

একের অধিক কন্ডিশন যাচাইঃ

একের অধিক কন্ডিশন আমরা if এর ভেতর যাচাই করতে পারি। যেমনঃ

x = 7
y = 5
z = 9
if x > y and z > y:
    print("Both conditions are True")

নেস্টেড if else
আমরা চাইলে একটা if else এর ভেতর আরেকটা if else ব্যবহার করতে পারি। যাকে বলা হয় নেস্টেড if else।

x = 5
if x > 0:
    if x % 2 == 1:
        print("The number is positive and an odd number.")


এখানে আমরা একটা ভ্যারিয়েবল নিয়েছি যার ভ্যালু সেট করে দিয়েছি 5। এরপর প্রথমে চেক করেছি ভ্যালুটি ০ থেকে বড় কিনা। যেহেতু শূন্য থেকে বড়, তাই সংখ্যাটি পজেটিভ। এরপর চেক করে দেখেছি সংখ্যাটিকে ২ দিয়ে ভাগ করলে ভাগশেষ ১ থাকে কিনা। যদি ২ দিয়ে ভাগ করলে ভাগশেষ ১ থাকে, তার মানে সংখ্যাটি একটা বিজোড় সংখ্যা। উপরের প্রোগ্রামটি তাই প্রিন্ট করবেঃ
The number is positive and an odd number.

এখন আমরা একটা ডাইনামিক প্রোগ্রাম লিখে ফেলতে পারিঃ

x = int(input("Enter a number:"))
if x > 0:
    if x % 2 == 1:
        print("The number is positive and an odd number.")
    else:
        print("The number is positive and an even number")
else:
    print("You entered a negative number")

এভাবে আমরা চাইলে একটা if এর ভেতর আরেকটা if, তার ভেতর আরেকটা if এভাবে ব্যবহার করতে পারি। এখানে ইন্ডেন্টেশনের দিকে খেয়াল রাখতে হবে। যদি ইন্ডেন্টেশন ভুল হয়, তাহলে প্রোগ্রাম ঠিক মত কাজ করবে না।

2 thoughts on “পাইথন if else”

Leave a Reply