পড়ার নোট
লুপ সাধারণত শর্ত মিথ্যা না হওয়া পর্যন্ত একই কাজ বারবার করে। কিন্তু মাঝপথে থামতে বা কোনো একটি বার বাদ দিতে হলে দুটি স্টেটমেন্ট ব্যবহার করা হয়: break ও continue। দুটিই লুপের ভেতরে থাকে এবং সাধারণত if বা elif এর শর্তের সঙ্গে ব্যবহৃত হয়; শর্ত সত্য হলে কার্যকর হয়, মিথ্যা হলে উপেক্ষিত হয়।
break স্টেটমেন্ট
লুপের ভেতরে break পেলে লুপ সেখানেই কাজ শেষ করে বেরিয়ে যায় এবং লুপের পরের স্টেটমেন্ট চলে। চলন্ত গাড়িতে ব্রেক কষলে যেমন গাড়ি থামে, তেমনি লুপও থামে।
for i in range(0, 10):
if i == 5:
break
print(i)
ফলাফল 0 থেকে 4; i যখন 5 হয়, তখন লুপ বন্ধ হয়। while লুপেও একই নিয়ম। ধরো, 1, 2, 3,... যোগ করতে করতে যোগফল 20 ছাড়ালেই থামতে চাই:
total = 0
n = 1
while n <= 10:
total = total + n
if total > 20:
break
n = n + 1
print(n, total)
ধাপে ধাপে যোগফল 1, 3, 6, 10, 15, 21। হলে যোগফল 21 হয়, যা 20 এর বেশি; তাই লুপ থামে এবং 6 21 দেখায়।
নেস্টেড লুপে break শুধু যে লুপের ভেতরে আছে সেটিকেই থামায়, বাইরের লুপ চলতে থাকে:
for i in range(1, 4):
for j in range(1, 4):
if j == 2:
break
print(i, j)
এখানে ফলাফল 1 1, 2 1, 3 1।
continue স্টেটমেন্ট
continue পেলে লুপের বাকি অংশ বাদ দিয়ে প্রোগ্রাম পয়েন্টার লুপের শুরুতে, অর্থাৎ পরের বারে চলে যায়। লুপ শেষ হয় না, শুধু ওই বারের কাজ বাদ যায়।
for num in range(1, 11):
if num == 4:
continue
print(num, end=" ")
ফলাফল 1 2 3 5 6 7 8 9 10; শুধু 4 বাদ গেছে।
সাধারণ ভুল: while লুপে কাউন্টার বাড়ানোর আগেই continue বসানো। নিচের প্রোগ্রামে n = n + 1 আগে আছে বলে এটি ঠিকভাবে 1, 3, 5 দেখায়। যদি কাউন্টার বাড়ানোর লাইনটি continue এর পরে থাকত, তাহলে অবস্থায় continue বারবার চলত, কখনো বাড়ত না এবং লুপ অসীম হয়ে যেত।
n = 0
while n < 6:
n = n + 1
if n % 2 == 0:
continue
print(n)
মনে রাখো: break পুরো লুপ থেকে বেরিয়ে যায়, আর continue শুধু বর্তমান বারের বাকি কাজ বাদ দিয়ে পরের বারে যায়।
২০২৬ সালের NCTB পাঠ্যবই অনুসরণ করে লেখা।