while
লুপের ব্যবহার। কিন্তু, পাইথনের যেকোনো সিকোয়েন্স টাইপ অবজেক্ট যেমন, লিস্ট (list
) এর প্রত্যেকটি এলিমেন্ট নিয়ে কাজ করার জন্য while
লুপ ব্যবহার করলে একটু বেশি কোড লিখতে হয়। যেমন while
লুপের কনসেপ্ট ঝালাই করতে এবং ব্যাপারটা বুঝতে নিচের উদাহরণটি দেখি,for
লুপ ব্যবহার করে করলে অনেক কম কোড লিখেই করা সম্ভব। for
লুপ দিয়ে খুব সহজেই যেকোনো সিকোয়েন্স টাইপ অবজেক্ট যেমন list
, string
ইত্যাদির মধ্যে iterate করা যায়। তাহলে দেখি উপরের প্রোগ্রামটি কিভাবে ফর লুপ ব্যবহার করে করা সম্ভব,for
লুপ ব্যবহার করাই ভালো হয়।অন্যান্য ল্যাঙ্গুয়েজ যেমন php তে এরকম কাজের জন্য আছেforeach
যা দিয়ে কোন অ্যারে তে অপারেশন করা অনেক সহজ হয়ে যায়
range
যা আমরা আগের চ্যাপ্টারে দেখে এসেছি। মনে আছে, range
ব্যবহার করে ইচ্ছামত লিস্ট তৈরি করা যায়? এটাকেই কাজে লাগিয়ে নিচের উদাহরণটি দেখি,range
ফাংশন ব্যবহার করে একটি কাল্পনিক লিস্ট তৈরি করা হয়েছে যার এলিমেন্ট গুলো ছিল ০ থেকে ৯ পর্যন্ত [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
এরকম। আর সেই লিস্টকেই iterate করা হয়েছে for লুপ দিয়ে অর্থাৎ ১০ বার কাজ করানো হয়েছে এই লুপকে। আর কাজটা ছিল তেমন কিছুই না প্রত্যেকটি এলিমেন্টকে ধরে প্রিন্ট করা।range
ফাংশন এ প্যারামিটার হিসবে আমরা একটিমাত্র আর্গুমেন্ট দিচ্ছিলাম। আমরা যখন ফর লুপে range(10)
লিখেছিলাম, এটি মূলত ০ থেকে ৯ পর্যন্ত প্রিন্ট করেছে। আবার একইভাবে যদি range(20)
বসাই, তাহলেও একইভাবে ০ থেকে ১৯ পর্যন্ত প্রিন্ট করে দেখাতো । কিন্তু আমরা চাইলে আমাদের রেঞ্জ পছন্দমত বলে দিতে পারি, যেমন ধরুন, ৫ থেকে শুরু করে ৯ পর্যন্ত। এজন্য আমাদের যা করতে হবে , রেঞ্জ ফাংশনে দুইটা মান বা প্যারামিটার পাস করতে হবে, প্রথমটা শুরু এবং পরেরটা শেষের মান। নিচের কোডটা খেয়াল করি -for
লুপ খাটিয়ে দেখি কিছু করা যায় কিনা -while
লুপের মত ফর লুপেও break
, continue
ইত্যাদি কিওয়ার্ড ব্যবহার করে কাজের ধারাকে নিয়ন্ত্রণ করা যায়। যেমন -0
থেকে 19
এই ২০টি এলিমেন্ট ওয়ালা একটি লিস্ট/রেঞ্জ এর উপর কাজ করা হয়েছে কিন্তু যখন 5
এলিমেন্টকে পাওয়া গেছে (i
এর মাধ্যমে) তখন continue
ব্যবহার করে একে প্রিন্ট না করে এড়িয়ে যাওয়া হয়েছে (লুপের শুরুতে ফিয়ে গিয়ে)। আবার যখন এলিমেন্টটি 9
এর বড়, সেই সময় ফর লুপের কাজ break
এর মাধ্যমে থামিয়ে দেয়া হয়েছে যে কারনে 9
প্রিন্ট এর পর ফর লুপের কোন কাজ দেখা যাচ্ছে না বরং প্রোগ্রামের শেষ একটি সাধারণ প্রিন্ট স্টেটমেন্ট এর এক্সিকিউশন হয়েছে।