পাইথন 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) কিনা, তা যাচাই করেছি। এর পর প্রিন্ট করতে বলেছি 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 কি থেকে বড়? যদি বড় হয়, তাহলে একটা ম্যাসেজ প্রিন্ট করতে বলেছি। এরপর else দিয়ে বলে দিয়েছি x যদি 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।
ধরে নিচ্ছি ভোলানাথ নামে আপনার একটা বন্ধু আছে, যে সব সব ভুলে যায়। কখন কি করতে হয় সেগুলো তাকে মনিয়ে করিয়ে দেওয়ার জন্য একটা রোবট তৈরি করতে চাচ্ছেন। রোবট হচ্ছে একটা জড় বস্তুর মত, যদি না আমরা তাকে বলে দি কি করতে হবে। এখন আপনার রোবটের জন্য একটা প্রোগ্রাম লিখতে হবে। যে আপনার বন্ধুটাকে কখন কি করতে হবে, তা বলে দিবে। যদি সকাল হয়, সে বলে দিবে স্কুলে যেতে হবে। যদি বিকেল হয় সে বলে দিবে খেলা ধুলা করতে । যদি সন্ধ্যা হয়, পড়তে বসতে বলবে। আর রাত হলে ভোলানাথকে গল্প শুনিয়ে ঘুম পাড়িয়ে দিবে। অন্য সময় সে তাকে ডিস্ট্রাব করবে না। এরকম একটা প্রোগ্রামটা আমরা পাইথনে লিখলেঃ
time = “morning”

if time== "morning":
     print ("pack you bag and go to school")
elif (time=="afternoon"):
     print ("it’s gaming  time")
elif (time=="evening"):
     print ("it’s reading  time")
elif (time=="night"):
     print ("it’s sleeping time")
else:
     print ("You can do anything you like")

প্রথম লাইনের time = morning এর পরিবর্তে afternoon, evening, night ইত্যাদি দিয়ে প্রোগ্রামটি রান করে দেখতে পারেন।

নেস্টেড 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")

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

2 thoughts on “পাইথন If Else

Leave a Reply