পাইথন break & continue
কোন কোন সময় নির্দিষ্ট কাজ শেষে আমাদের লুপ থেকে বের হয়ে যেতে হতে পারে। আর লুপ থেকে বের হয়ে যাওয়ার জন্য break ব্যবহার করা হয়।
যেমন আমরা যখন ‘Python’ শব্দটির মধ্যে লুপ চালিয়ে এর লেটার গুলো প্রিন্ট করব। যখন এর মধ্যে n লেটারটি পাবো, তখন লুপ থেকে বের হবো। আর তার জন্য লিখব এভাবেঃ
for letter in 'Python': if letter == 'n': break print(letter) print('The end')
উপরের প্রোগ্রাম stri পর্যন্ত আউটপুট দিবে। যখনই n পাবে, তখন লুপ থেকে বের হয়ে যাবে। এবং লুপের পরে কোন কোড থাকলে তা এক্সিকিউট করবে। এখানে লুপের পরে আমাদের লাইন হচ্ছে print (‘The end’ )
Continue:
একটা নির্দিষ্ট কন্ডিশন যদি সত্য হয়, তাহলে লুপের ভেতরে কোড ব্লক এক্সিকিউট না করার জন্য ব্যবহৃত হয়। এর আগের প্রোগ্রামটির break রিপ্লেস করে continue দিয়ে প্রিন্ট করে দেখি।
for letter in 'Python': if letter == 't': continue print(letter) print('The end')
এটা করবে কি, যখন letter == ’t’ সত্য হয়, তখন এর পরের কোড গুলো আর এক্সিকিউট করে না। আবার লুপে ফিরে যায়। এটি t ছাড়া বাকি লেটার গুলো প্রিন্ট করবে। যখন t পেয়েছে, তা প্রিন্ট না করে পরে আবার লুপের প্রথম থেকে এক্সিকিউট করা শুরু করেছে। এখন যদি আমরা t এর পরিবর্তে h দিয়ে পরীক্ষা করে দেখি তাহলেঃ
for letter in 'Python': if letter == 'h': continue print(letter) print('The end')
এখন দেখতে পাবো h ছাড়া বাকি সব গুলো লেটার প্রিন্ট করেছে। আরেকটা উদাহরণ দেখিঃ
s = 'Simple is better than complex.' for letter in s: print(letter, end='')
এ প্রোগ্রামটি স্ট্রিং এর লেটার গুলো প্রিন্ট করবে, আগের প্রোগ্রামের সাথে পার্থক্য হচ্ছে আগে প্রতিবার প্রতিটি লেটার নতুন লাইনে প্রিন্ট করত। এখন একই লাইনে প্রিন্ট করবে। আউটপুট দিবে Simple is better than complex.
এখন আমরা একটা কন্ডিশন দিচ্ছি, যখন e পাবে, তখন continue করবে। মানে e প্রিন্ট করবে না। তার জন্যঃ
s = 'Simple is better than complex.' for letter in s: if letter == 'e': continue print(letter, end='')
এখন দেখব আউটপুটঃ Simpl is bttr than complx. , যেখানে যেখানে e ছিল, তা এড়িয়ে গিয়েছে। উপরের প্রোগ্রামে এখন যদি continue এর পরি বর্তে break লিখি, তাহলেঃ
s = 'Simple is better than complex.' for letter in s: if letter == 'e': break print(letter, end='')
এখন আউটপুট পাবো শুধু “Simpl”। এক্ষেত্রে e পাওয়ার সাথে সাথেই লুপ থেকে বের হয়ে গেছে।
আরেকটা সিম্পল উদাহরণ দেখি, এক থেকে ১০ পর্যন্ত সংখ্যা গুলো প্রিন্ট করার একটা প্রোগ্রাম লিখি, যেখানে আমর ৫ প্রিন্ট করতে চাই না। যখন 5 পাব তখন আমরা continue করব।
count = 0 while count <= 10: count += 1 if count == 5: continue print(count)
এখন আমরা চাচ্ছি যখন 5 পাবো, তখন break করব। তাহলেঃ
count = 0 while count <= 10: count += 1 if count == 5: break print(count)
উপরের প্রোগ্রামটি এখন ১ থেকে ৪ পর্যন্ত প্রিন্ট করবে। কারণ যখন ৫ পেয়েছে, তখনি while থেকে বের হয়ে গিয়েছে।
আশা করি break & continue এর ব্যবহার আমরা বুঝতে পেরেছি। নিজে নিজে কিছু প্রোগ্রাম লিখে যদি কখন কি আউটপুট দেয় তা দেখি, তাহলে আরো দ্রুত বুঝতে পারব।
এ অধ্যায় আমরা গুরুত্বপূর্ণ অনেক কিছুই শিখেছি। এগুলো ব্যবহার করে আমরা এখন চাইলে যে কোন প্রোগ্রামিং সমস্যা সমাধাণ করে ফেলতে পারি। হাতের কাছে কোন গণিত বই থাকলে ঐ বই এর সমস্যা গুলো প্রোগ্রামিং দিয়ে সমাধাণ করার চেষ্টা করলে প্রোগ্রামিং কনসেফট গুলো সহজে বুঝা যাবে। এছাড়া দরকার বাস্তব জীবনে যে কাজ গুলো করছি নিয়মিত, সেগুলো প্রোগ্রামিং আকারে লিখলে কেমন হত, তা চিন্তা করা। আর এভাবে চিন্তা করতে করতেই প্রোগ্রামিং লজিক বাড়বে।
জাকির ভাই! অনেকগুলা প্রোগ্রাম রান হচ্ছে না।
http://pythonfiddle.com/
আমি এই compiler ইউজ করি। এইটা তো আপনারই suggest করা।
এখন কি করবো????