মূল content-এ যাও

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

Loops: for ও while

একই কাজ বারবার — for loop, range(), while, break/continue, enumerate। Training loop বোঝার আগের ধাপ।

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

সহজ ভাষায়

Loop মানে একই কাজ বারবার করা। ১০০০ জন student-এর grade বের করতে ১০০০ বার code লিখতে হবে না — একবার লিখে loop-কে বলো সবার জন্য চালাতে।

Python-এ দুই ধরনের loop:

  • for — একটা সংগ্রহের (list, string, range) প্রতিটা item-এর জন্য
  • while — যতক্ষণ একটা শর্ত সত্য

কেন দরকার?

Neural network train করা মানে আসলে একটা loop:

for each epoch:
    for each batch of data:
        prediction বানাও
        error (loss) মাপো
        model একটু ঠিক করো

PyTorch-এ প্রতিটা training code-এ এই nested loop দেখবে। আজ সেই ভিত্তিটা তৈরি হবে।

for loop

main.py

প্রতিবার city variable list-এর পরের item-টা পায়। Loop-এর ভেতরের code-ও if-এর মতো indent করা।

range()

নির্দিষ্ট সংখ্যকবার কিছু করতে range():

main.py
লেখামান
range(5)0, 1, 2, 3, 4
range(1, 6)1, 2, 3, 4, 5
range(0, 20, 5)0, 5, 10, 15

Loop দিয়ে হিসাব জমানো

খুব common pattern — একটা variable শুরুতে 0, loop-এ ক্রমাগত যোগ:

main.py

enumerate(): index আর মান একসাথে

main.py

while loop

শর্ত সত্য থাকা পর্যন্ত চলে:

main.py

সাবধান: while-এর শর্ত কখনো False না হলে loop চিরকাল চলবে — infinite loop। এখানে ১০ সেকেন্ড পর platform নিজে থেকে থামিয়ে দেবে, কিন্তু real server-এ এটা বড় সমস্যা।

break ও continue

main.py

Exercise

Exercise

কতজন pass করেছে?

+20 XP

marks list-এ কতজনের মার্ক 40 বা তার বেশি সেটা for loop দিয়ে গুনে passed variable-এ রাখো।

solution.py

Quiz

  1. Q1list(range(2, 10, 3)) কী?
  2. Q2নিচের code কয়বার "hi" print করবে?
    i = 0
    while i < 3:
        print("hi")
        i += 1
    
  3. Q3Loop-এর ভেতরে continue কী করে?
0/3 answered

Challenge

Challenge

FizzBuzz

+50 XP

Programming interview-এর সবচেয়ে বিখ্যাত প্রশ্ন! 1 থেকে 15 পর্যন্ত প্রতিটা সংখ্যার জন্য এক লাইনে print করো:

  • 3 আর 5 দুটো দিয়েই বিভাজ্য হলে → FizzBuzz
  • শুধু 3 দিয়ে বিভাজ্য হলে → Fizz
  • শুধু 5 দিয়ে বিভাজ্য হলে → Buzz
  • নাহলে সংখ্যাটা নিজেই
solution.py

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

Early stopping — validation loss বাড়তে শুরু করলে training থামিয়ে দেওয়া — একটা loop আর break দিয়েই লেখা হয়:

main.py

পরে শিখব NumPy দিয়ে অনেক কাজ loop ছাড়াই (vectorization) অনেক দ্রুত করা যায় — কিন্তু loop বোঝা ছাড়া সেটার মূল্য বোঝা যায় না।

Interview প্রশ্ন

  • Beginner: for আর while loop-এর মধ্যে কখন কোনটা ব্যবহার করবে?
  • Intermediate: Loop চলাকালীন সেই list থেকে item remove করলে কী সমস্যা হয়?
  • Advanced: Python loop কেন NumPy vectorized operation-এর চেয়ে ধীর?

এরপর কী?

একই code বারবার লিখছি? সেটাকে একটা নাম দিয়ে আলাদা করে রাখা যায় — পরের lesson: Functions।