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
খেয়াল করো দুটো জিনিস:
- শর্তের পরে colon (
:) - ভেতরের code ৪টা space ভেতরে — একে বলে indentation। Python indentation দেখেই বোঝে কোন লাইন if-এর ভেতরে।
if / else
if / elif / else
একাধিক অবস্থা থাকলে elif:
Python উপর থেকে একে একে শর্ত চেক করে। প্রথম যেটা True হয়, শুধু সেটাই চলে, বাকিগুলো skip।
cgpa = 3.4
|
v
cgpa >= 3.75 ? --না--> cgpa >= 3.25 ? --হ্যাঁ--> "Very good" (থামো)
একাধিক শর্ত মেলানো
Indentation ভুল হলে
IndentationError — if-এর পরে ভেতরের লাইন indent করা হয়নি।
Exercise
Exercise
Grade বের করো
marks অনুযায়ী grade variable-এ grade রাখো:
- 80 বা তার বেশি →
"A+" - 70 থেকে 79 →
"A" - 60 থেকে 69 →
"B" - 60-এর কম →
"F"
তোমার code যেন marks-এর যেকোনো মানের জন্য কাজ করে — test আলাদা আলাদা মান দিয়ে চেক করবে।
Quiz
Challenge
Challenge
সহজ spam detector
একটা message spam কিনা ঠিক করার নিয়ম:
- message-এ
"free"অথবা"winner"শব্দ থাকলে (বড়-ছোট হাতের অক্ষর নির্বিশেষে) → spam - অথবা message-এ ৩টার বেশি
!থাকলে → spam
is_spam variable-এ True বা False রাখো।
বাস্তবে কোথায় ব্যবহার হয়?
তোমার challenge-এর spam detector হলো rule-based system। ২০০০-এর দশকের শুরুতে এভাবেই spam filter বানানো হতো। সমস্যা হলো spammer-রা দ্রুত নিয়ম এড়ানো শিখে যায় ("FR33"!)। তখন এল Machine Learning — হাতে নিয়ম না লিখে, হাজার হাজার উদাহরণ থেকে model নিজেই নিয়ম শেখে।
আজও কিন্তু production ML system-এ if-else লাগে: model-এর output-এর ওপর threshold বসাতে:
Interview প্রশ্ন
- Beginner:
if-এর পরপর অনেকগুলোifআরif/elifchain-এর মধ্যে পার্থক্য কী? - Intermediate: Rule-based system আর ML model-এর মধ্যে কখন কোনটা বেছে নেবে?
- Advanced: Classification threshold 0.5 থেকে বদলালে precision আর recall-এ কী প্রভাব পড়ে?
এরপর কী?
এক student-এর grade বের করতে পারি। কিন্তু ১০০ জনের? তার জন্য দরকার অনেকগুলো data এক জায়গায় রাখা — পরের lesson: Lists।