offSchoolবেটা

তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬

if-elif-else: কোন শর্ত আগে লিখবে

মান বদলাও, চালাও, আর দেখো কী ঘটে।

সুমাইয়া ফলাফল দেখানোর প্রোগ্রাম লিখল। প্রথমে লিখল if marks >= 33: print("Pass"), তারপর elif marks >= 80: print("A+"), শেষে else: print("Fail")। তার বন্ধু রিয়ার নম্বর ৮৫। প্রোগ্রামটি কী ছাপাবে?

৮৫ নম্বরের জন্য প্রোগ্রামটি কী ছাপাবে?

  1. A+, কারণ ৮৫ নম্বর ৮০-এর বেশি
  2. Pass, কারণ প্রথম শর্তটিই সত্য, তাই পরের শর্ত আর যাচাই হয় না
  3. Pass আর A+ দুটোই, কারণ দুটি শর্তই সত্য

যা বদলাতে পারবে

  • নম্বর: ০ থেকে ১০০
  • কোন শর্ত আগে: আগে marks >= 33, আগে marks >= 80

যা মেপে দেখাবে

  • আউটপুট
  • যে শাখা চলল
  • যাচাই করা শর্ত

চালানোর সময় খেয়াল করো

  • শর্তের ক্রম বদলে আবার ৮৫ দিয়ে চালাও। কোন লাইনগুলো চলল দেখো।

নিজে করে দেখো

  1. প্রোগ্রামটি ঠিক করো যাতে ৮৫ নম্বরে A+ ছাপা হয়।
    ইঙ্গিত

    কোন শর্ত আগে যাচাই হওয়া দরকার?

  2. এমন নম্বর দাও যাতে else-এর শাখা চলে।
    ইঙ্গিত

    কোন নম্বরে কোনো শর্তই সত্য হয় না?

ধারণাটা কী?আগে নিজে চালিয়ে দেখো, তারপর খোলো।

if-elif-else উপর থেকে নিচে শর্ত যাচাই করে এবং কেবল প্রথম সত্য শাখাটি চালায়

পাইথন প্রথমে if-এর শর্ত যাচাই করে। সেটি সত্য হলে ওই শাখা চালিয়ে পুরো if-elif-else থেকে বেরিয়ে যায়; পরের elif আর দেখেই না। ৮৫ নম্বরের জন্য marks >= 33 সত্য, তাই Pass ছাপা হয়, আর A+ এর শাখাটি কখনোই চলতে পারে না। তাই বেশি কঠিন শর্তটি (marks >= 80) আগে লিখতে হয়, তারপর marks >= 33, শেষে else।

যেসব ভুল ধারণা হয়

  • elif এর মধ্যে যে শর্তটি সবচেয়ে ভালোভাবে মেলে পাইথন সেটিই বেছে নেয়
  • যতগুলো শর্ত সত্য, ততগুলো শাখাই চলে

বাস্তবে কোথায় দেখা যায়

  • বোর্ড পরীক্ষার ফলাফলে নম্বর থেকে গ্রেড (A+, A, A-) নির্ধারণের সফটওয়্যার
  • বিদ্যুৎ বিলে ব্যবহারের ধাপ অনুযায়ী ইউনিটের দাম ঠিক করা

পাঠ্যবইয়ের টপিক