Course: সম্পূর্ণ জেনারেটিভ এআই কোর্স ল্যাঙ্গচেইন এবং হাগিংফেসের সাথে
রচনাঃ পাইথন নিয়ন্ত্রণ প্রবাহ (12–15 বাক্য)
পাইথনের নিয়ন্ত্রণ প্রবাহ হচ্ছে প্রোগ্রামের যৌক্তিক ধারা নির্ধারণ করার নিয়মাবলী, যা কোডকে শর্ত অনুযায়ী বিভিন্ন পথ নিতে সাহায্য করে। আমরা সাধারণত শর্তযুক্ত বিবৃতি, লুপ এবং ফাংশন ব্যবহার করে এই ধারাকে নিয়ন্ত্রিত করি। if, elif এবং else ব্যবহার করে নির্দিষ্ট শর্তের ওপর ভিত্তি করে প্রয়োজনীয় ব্লক কার্যকর করা যায়। উদাহরণস্বরূপ, একটি if বিবৃতিতে যদি শর্ত সত্য হয় তাহলে সংশ্লিষ্ট কোড ব্লক চালানো হয়, নতুবা elif বা else ব্লক পরীক্ষা করা হয় বা চালানো হয়। for লুপ দিয়ে একটি নির্দিষ্ট পরিসর বা সংগ্রহের প্রতিটি উপাদানের জন্য কোড বারবার চালানো যায়। while লুপটি একটি শর্ত মেনে চলার সময় পর্যন্ত চলতে থাকে এবং শর্ত ভাঙলে বন্ধ হয়। লুপের ভিতরে break এবং continue-এর মাধ্যমে লুপের প্রবাহ আরও সূক্ষ্মভাবে নিয়ন্ত্রণ করা যায়। ফাংশন ব্যবহার করলে কোডের পুনরায় ব্যবহার সহজ হয় এবং প্রোগ্রামের সংগঠন ভাল হয়। def কীওয়ার্ড দিয়ে ফাংশন সংজ্ঞায়িত করে আমরা বিশ্লেষণযোগ্য এবং পরীক্ষা যোগ্য ব্লক তৈরি করি। ফাংশনের প্যারামিটার এবং রিটার্ন ভ্যালু দ্বারা ডাটা বিনিময় করা হয়। নিয়ন্ত্রণ প্রবাহ ঠিকঠাক থাকলে প্রোগ্রামের লজিক স্পষ্ট ও ত্রুটি-মুক্ত থাকে। তাই মূল নিয়মগুলো ধারাবাহিকভাবে অনুশীলন করলে পাইথন প্রোগ্রামিং আরও শক্তিশালী এবং দক্ষ হয়ে ওঠে।
Lesson
Topic: পাইথন নিয়ন্ত্রণ প্রবাহ
Learning Outcomes
- শর্তযুক্ত বিবৃতি (if, elif, else) ঠিকভাবে লিখতে এবং বিশ্লেষণ করতে পারবে।
- for এবং while লুপের ব্যবহার ও পার্থক্য ব্যাখ্যা করতে পারবে।
- ফাংশন ডিফাইন ও কল করার মূল ধারণা আয়ত্ত করতে পারবে।
- নিয়ন্ত্রণ প্রবাহ ব্যবহার করে ছোট প্রোগ্রাম ডিজাইন ও ডিবাগ করতে পারবে।
Conceptual Explanation
শর্তযুক্ত বিবৃতি (Conditional Statements)
if, elif এবং else হলো শর্ত ভিত্তিক প্রবাহ নিয়ন্ত্রণের মৌলিক ইউনিট। একটি সাধারণ উদাহরণ:
age = 16
if age >= 18:
print("আপনি ভোট দিতে পারেন।")
elif age >= 16:
print("আপনি ড্রাইভিং লাইসেন্সের জন্য আবেদন করতে পারেন।")
else:
print("আপনার এখনও কোন অনুমতি নেই।")
প্রতিটি শর্ত উপরের থেকে নিচের দিকে মূল্যায়ন হয়; প্রথম সঠিক শর্তে অগ্রগতি থামে।
লুপ (Loops)
for লুপ নির্দিষ্ট সংখ্যক পুনরাবৃত্তি বা ইটারেবল আইটেমের জন্য ব্যবহার করা হয়, আর while লুপ একটি শর্ত সত্য থাকা পর্যন্ত চলে।
# for loop
for i in range(5):
print(i) # 0 থেকে 4 প্রিন্ট করবে
# while loop
count = 0
while count < 5:
print(count)
count += 1
break লুপকে সম্পূর্ণ বন্ধ করে, আর continue বর্তমান ইটারেশন স্কিপ করে পরেরটি শুরু করে।
ফাংশন (Functions)
ফাংশন হল পুনরায় ব্যবহারযোগ্য কোড ব্লক। def দিয়ে ডিফাইন করে কল করা হয়। উদাহরণ:
def greet(name):
return "হ্যালো, " + name + "!"
print(greet("জন")) # হ্যালো, জন!
প্যারামিটার, ডিফল্ট আর্গুমেন্ট, এবং রিটার্ন ভ্যালু ফাংশন ডিজাইনে গুরুত্বপূর্ণ।
Important Notes
- ইন্ডেন্টেশন (indentation) পাইথনে নিয়ন্ত্রণ প্রবাহে অত্যন্ত গুরুত্বপূর্ণ—সঠিকভাবে রাখুন।
- শর্তে তুলনা অপারেটর (==, !=, >, <, >=, <=) এবং লজিকাল অপারেটর (and, or, not) ব্যবহার করা হয়।
- অতিরিক্ত জটিল লজিক হলে ফাংশনে বিভক্ত করে টেস্টযোগ্যতা বাড়ান।
- নিরাপদভাবে ইনপুট সংগ্রহ ও ত্রুটি (exceptions) হ্যান্ডেল করতে try/except ব্যবহার করুন।
Exercises
প্রশ্নগুলোর উত্তর প্রয়োজনমতো প্রতিটি অংশে ক্লিক করে উত্তর দেখুন।Answer
True / False
- if ব্লকে থাকা কোডই স্বয়ংক্রিয়ভাবে elif ব্লকেও চলে।
Answer
False — if ব্লকের শর্ত সত্য হলে, সেই ব্লকের কোড চালায় এবং বাকী elif/else ব্লকগুলি স্কিপ করে।
- for লুপে range(3) তিনটি মান প্রদান করে: 0, 1 এবং 2।
Answer
True
- while লুপ বাধাহীনভাবে চলতে পারে যদি শর্ত কখনও মিথ্যা না হয়।
Answer
True — তবে এটি infinite loop; দূরে করার জন্য break বা শর্ত পরিবর্তন করা উচিত।
Fill in the Blanks
- পাইথনে ফাংশন ডিফাইন করতে ব্যবহার করা হয় ______ কীওয়ার্ড।
Answer
def
- লুপ থেকে বর্তমান ইটারেশন বাদ দিতে ব্যবহার করা হয় ______।
Answer
continue
- শর্তযুক্ত বিবৃতিতে বাছাই করার জন্য যেটি লেখতে হয় সেটি হলো ______।
Answer
if, (তৎপরবর্তী হলে) elif, (সবশেষে) else
Multiple Choice Questions (MCQ)
- নিচের কোনটি while লুপের উদাহরণ?
- for i in range(5):
- while x > 0:
- def func():
Answer
b — while x > 0:
- কোনটি ফাংশন কল করার সঠিক পদ্ধতি?
- def hello(): print("Hi")
- hello()
- call hello
Answer
b — hello() (ফাংশনটি আগে ডিফাইন করা থাকতে হবে)
Matching
নীচের টেবিলটি মেলান (A → B):
| A | B |
|---|---|
| 1. if | a. পুনরাবৃত্তি চালায় |
| 2. for | b. শর্তভিত্তিক ব্লক |
| 3. def | c. ফাংশন ডিফাইন করে |
Answer
1 → b, 2 → a, 3 → c
Descriptive
- if ও elif মধ্যে পার্থক্য লিখে ব্যাখ্যা করুন।
Answer
if শর্ত প্রথমে পরীক্ষা করা হয়; যদি সেও মিথ্যা হয় তবে পরবর্তী elif গুলো ক্রমিকভাবে পরীক্ষা করা হয়। প্রথম সিগন্যাল সত্য হলে বাকিগুলো স্কিপ করা হয়। else সব শর্ত মিথ্যা হলে কার্যকর হয়।
Creative / Practical
- একটি প্রোগ্রাম লিখুন যা ব্যবহারকারীর স্কোর ইনপুট নিয়ে গ্রেড নির্ধারণ করে (A, B, C, F)।
Answer
উদাহরণ কৌচ:
score = int(input("স্কোর দিন: ")) if score >= 90: grade = "A" elif score >= 75: grade = "B" elif score >= 60: grade = "C" else: grade = "F" print("আপনার গ্রেড:", grade)
Activities
- ছোট গ্রুপে তিনটি উদাহরণ তৈরির চ্যালেঞ্জ: একটি if-elif-else, একটি for লুপ, এবং একটি ফাংশন; পরস্পরের কোড রিভিউ করুন।
- একজন শিক্ষার্থীর কাজ পরীক্ষা করে ট্রেস টেবিল (execution trace) লিখুন যাতে প্রতিটি লাইন কবে চালু হয় তা দেখায়।
Vocabulary
- Conditional — শর্তযুক্ত
- Iteration — পুনরাবৃত্তি
- Function — ফাংশন
- Indentation — ইন্ডেন্টেশন
- Return — রিটার্ন
Homework
- নিচের বিষয়গুলি অনুশীলন করে একটি সংক্ষিপ্ত রিপোর্ট লিখুন (২০০–৩০০ শব্দ): লুপের মধ্যে লজিক ভুল হলে কীভাবে ডিবাগ করবেন।
- একটি প্রোগ্রাম লিখুন যা একটি তালিকার মধ্যে ইউনিক সংখ্যা বের করে (list → set ব্যবহার না করে)।
Practice Task
প্রতিটি ছাত্র নিম্নলিখিত কাজটি করবেন এবং ফলাফল ক্লাসে শেয়ার করবেন:
- ব্যবহারকারী থেকে ৫টা নাম নিন এবং for লুপ দিয়ে প্রতিটি নামের প্রথম অক্ষর বড় করে প্রিন্ট করুন।
- একটি গুণ ফাংশন লিখুন (multiply), যা দুইটি সংখ্যা নিয়ে তাদের গুণফল রিটার্ন করবে; তারপর সেটি দিয়ে কয়েকটি টেস্ট চালান।