মূল content-এ যাও

Python for AI/Python শুরু/Lesson 06

Conditions: if / elif / else

Program-কে সিদ্ধান্ত নিতে শেখাও। if, elif, else আর indentation — সব classifier-এর মূল ধারণা এখানেই।

সময়
18 মিনিট
Exercise
1
Challenge
1
Quiz
3 প্রশ্ন

সহজ ভাষায়

জীবনে আমরা প্রতিদিন শর্ত দেখে সিদ্ধান্ত নিই: যদি বৃষ্টি হয়, তাহলে ছাতা নেব, নাহলে নেব না। Program-ও ঠিক এভাবে সিদ্ধান্ত নেয় — if, elif (else if), আর else দিয়ে।

কেন দরকার?

একটা classifier — যেমন spam detector — শেষ পর্যন্ত একটা সিদ্ধান্তই নেয়: spam নাকি spam না। ML model শেখে কোন শর্তে কী সিদ্ধান্ত নিতে হবে; আর Decision Tree model তো আক্ষরিক অর্থেই অনেকগুলো if-else-এর গাছ! কিন্তু তার আগে আমরা নিজে হাতে নিয়ম লিখে শিখব।

if

main.py

খেয়াল করো দুটো জিনিস:

  1. শর্তের পরে colon (:)
  2. ভেতরের code ৪টা space ভেতরে — একে বলে indentation। Python indentation দেখেই বোঝে কোন লাইন if-এর ভেতরে।

if / else

main.py

if / elif / else

একাধিক অবস্থা থাকলে elif:

main.py

Python উপর থেকে একে একে শর্ত চেক করে। প্রথম যেটা True হয়, শুধু সেটাই চলে, বাকিগুলো skip।

cgpa = 3.4
   |
   v
cgpa >= 3.75 ?  --না-->  cgpa >= 3.25 ?  --হ্যাঁ-->  "Very good"  (থামো)

একাধিক শর্ত মেলানো

main.py

Indentation ভুল হলে

main.py

IndentationError — if-এর পরে ভেতরের লাইন indent করা হয়নি।

Exercise

Exercise

Grade বের করো

+20 XP

marks অনুযায়ী grade variable-এ grade রাখো:

  • 80 বা তার বেশি → "A+"
  • 70 থেকে 79 → "A"
  • 60 থেকে 69 → "B"
  • 60-এর কম → "F"

তোমার code যেন marks-এর যেকোনো মানের জন্য কাজ করে — test আলাদা আলাদা মান দিয়ে চেক করবে।

solution.py

Quiz

  1. Q1নিচের code-এর output কী?
    x = 15
    if x > 10:
        print("A")
    elif x > 5:
        print("B")
    else:
        print("C")
    
  2. Q2Python-এ if-এর ভেতরের code কীভাবে চেনা যায়?
  3. Q3if "": — এই block কি চলবে?
0/3 answered

Challenge

Challenge

সহজ spam detector

+50 XP

একটা message spam কিনা ঠিক করার নিয়ম:

  • message-এ "free" অথবা "winner" শব্দ থাকলে (বড়-ছোট হাতের অক্ষর নির্বিশেষে) → spam
  • অথবা message-এ ৩টার বেশি ! থাকলে → spam

is_spam variable-এ True বা False রাখো।

solution.py

বাস্তবে কোথায় ব্যবহার হয়?

তোমার challenge-এর spam detector হলো rule-based system। ২০০০-এর দশকের শুরুতে এভাবেই spam filter বানানো হতো। সমস্যা হলো spammer-রা দ্রুত নিয়ম এড়ানো শিখে যায় ("FR33"!)। তখন এল Machine Learning — হাতে নিয়ম না লিখে, হাজার হাজার উদাহরণ থেকে model নিজেই নিয়ম শেখে।

আজও কিন্তু production ML system-এ if-else লাগে: model-এর output-এর ওপর threshold বসাতে:

main.py

Interview প্রশ্ন

  • Beginner: if-এর পরপর অনেকগুলো if আর if/elif chain-এর মধ্যে পার্থক্য কী?
  • Intermediate: Rule-based system আর ML model-এর মধ্যে কখন কোনটা বেছে নেবে?
  • Advanced: Classification threshold 0.5 থেকে বদলালে precision আর recall-এ কী প্রভাব পড়ে?

এরপর কী?

এক student-এর grade বের করতে পারি। কিন্তু ১০০ জনের? তার জন্য দরকার অনেকগুলো data এক জায়গায় রাখা — পরের lesson: Lists।