নেস্টেড ( Nested ) ‘ if-else ’

লিখেছেন: কাজী মুশফিকুর রহমান || সফটওয়্যার প্রকৌশলী, টেকনিয়াস (সফটওয়্যার নির্মাণ প্রতিষ্ঠান) || তারিখঃ 29 এপ্রি., 2024


পাইথনে একটি ‘ if-else ’ ব্লকের মধ্যে আরেকটি ‘ if-else ’  ব্লক ব্যবহৃত হতে পারে, যা নেস্টেড  ‘ if-else ’ নামে পরিচিত। এভাবে অসংখ্য  নেস্টেড if ব্লক তৈরী করা যায়, আর এ কাজটি করা হয় ইন্ডেন্টেশনের মাধ্যমে। যেসকল ক্ষেত্রে একটি কন্ডিশনের মধ্যে আরেকটি কন্ডিশন চেক করার প্রয়োজন হয়, সেক্ষেত্রে ‘নেস্টেড if স্ট্রাকচার’ খুবই সুবিধাজনক। আমাদের রিয়েল লাইফে এধরণের সিনারিও আসে, যেখানে আমরা ডিসিশন মেকিং স্টেটমেন্ট (Decision making statement) হিসাবে এর প্রয়োগ করে থাকি।

 

 

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

কোড:

number = input('Enter a number: ')

number = int(number)

if number >= 0:

     if number == 0:

             print('The number is zero')

     else:

             print('The number positive.')

else:

     print('The number is negative.')

 

উপরের কোডের প্রথম লাইনে আমি ইউজার থেকে একটি নাম্বার ইনপুট নেয়ার জন্য input() মেথডটি ব্যবহার করেছি।  এটি পাইথনের একটি বিল্ট-ইন মেথড, যা নাম্বার কে স্ট্রিং এ কনভার্ট করে দেয়। এরপর দ্বিতীয় লাইনে স্ট্রিংটিকে int() মেথডর মধ্যে রেখে তাকে পূর্ণ সংখ্যায় কনভার্ট করেছি, এবং number নামক ভ্যারিয়েবলের মধ্যে এসাইন করেছি। তৃতীয় লাইনে চেক করেছি যে, নাম্বারটি যদি 0 অথবা 0 থেকে বড় হয় তাহলে পরবর্তী লাইন এক্সিকিউট হবে। এবং পরবর্তী if স্টেটমেন্ট চেক করবে। চতুর্থ লাইনে পুনরায় চেক করেছি যে, নাম্বারটি যদি 0 হয় তাহলে পঞ্চম লাইন এক্সিকিউট হবে। এরপরে else ব্লক ব্যবহার করেছি। এখন উপরের কোডটি রান করলে নিচের মত আউটপুট পাব।

পজিটিভ নাম্বার ইনপুট দিলে আউটপুট:

Enter a number: 2

The number positive.

 

নেগিটিভ নাম্বার ইনপুট দিলে আউটপুট:

Enter a number: -1

The number is negative.

 

জিরো ইনপুট দিলে আউটপুট:

Enter a number: 0

The number is zero.