পাঠ ৪: নেস্টেড লুপ ব্যবহার করা
আগের পাঠে, আপনি VR রোবটকে ডিস্ক মুভার প্লেগ্রাউন্ড এর তিনটি নীল ডিস্ক নীল গোলটিতে নিয়ে যাওয়ার, তোলার এবং সরানোর নির্দেশ দেওয়ার জন্য একটি প্রকল্প তৈরি করেছিলেন। এই পাঠে, আপনি নেস্টেড লুপ ব্যবহার করে ডিস্ক মুভার প্লেগ্রাউন্ড এ প্রতিটি রঙের একটি ডিস্ক তুলে তার সংশ্লিষ্ট রঙিন লক্ষ্যে স্থানান্তর করার জন্য একটি প্রকল্প তৈরি করবেন!

শেখার ফলাফল
- কিভাবে নেস্ট লুপ শনাক্ত করুন.
- নেস্টেড লুপের মাধ্যমে একটি প্রকল্পের প্রবাহ বর্ণনা কর।
- একটি প্রকল্পে নেস্টেড লুপ কেন ব্যবহার করা হবে তা ব্যাখ্যা কর।
নেস্টেড লুপ কি?
এই কোর্সের পূর্ববর্তী ইউনিট এবং পাঠগুলিতে, আপনি নিয়ন্ত্রণ বিভাগের লুপগুলি ব্যবহার করেছেন যেমন লুপের জন্য, while লুপ, এবং infinite whileলুপগুলি আচরণ পুনরাবৃত্তি করার জন্য। একটি লুপ অন্য লুপের ভিতরে স্থাপন করাকে 'নেস্টিং' বলে। নেস্টেড লুপগুলি এমন প্রকল্পগুলিতে সহায়ক যেখানে একটি VR রোবট একই আচরণ একাধিকবার পুনরাবৃত্তি করে, যেমন খেলার মাঠে একাধিক ডিস্ক সরানো। নেস্টিং লুপগুলি একটি প্রকল্পকে আরও সহজে বোঝার জন্য সংগঠিত এবং ঘনীভূত করতে পারে। এটি কোডের প্রেক্ষাপট এবং উদ্দেশ্য আরও ভালভাবে বোঝার জন্য সহায়ক হতে পারে, সেইসাথে ত্রুটিগুলি সনাক্ত করা এবং একটি প্রকল্পের সমস্যা সমাধান করা সহজ করে তোলে।
উদাহরণস্বরূপ, তিনটি নীল ডিস্ককে নীল লক্ষ্যে সরানোর জন্য, একটিforলুপ ব্যবহার করে একটি ডিস্ক সংগ্রহের প্রক্রিয়াটি একাধিকবার পুনরাবৃত্তি করা যেতে পারে। এখানে দেখানো প্রকল্পটি পাঠ ৩ প্রকল্পটি স্থাপন করে যেখানে প্রথম নীল ডিস্কটিকে নীল লক্ষ্যে for লুপের ভিতরে সরানো হবে, প্যারামিটারটি 3 তে সেট করা হবে। লক্ষ্য করুন কিভাবে পূর্ববর্তী প্রকল্পের চারটি অংশ এর মধ্যে লুপের জন্য ইন্ডেন্ট করা হয়েছে।
def main():
রেঞ্জ(3) এ পুনরাবৃত্তি_গণনার জন্য:
#1। প্রথম ডিস্কে ড্রাইভ করুন
যখন down_eye.near_object() নয়:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 2। ডিস্ক
magnet.energize(BOOST)
# 3 তুলে নাও। লক্ষ্যে গাড়ি চালান
drivetrain.turn_to_heading(180, DEGREES)
while front_distance.get_distance(MM) > 200:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. গোলে ডিস্কটি ফেলে দিন
magnet.energize(DROP)
drivetrain.drive_for(REVERSE, 100, MM)
drivetrain.turn_to_heading(0, DEGREES)
wait(5, MSEC)যখন আপনি লুপগুলিকে 'নেস্ট' করেন, তখন বাইরের লুপটি ভিতরের লুপটি কতবার কার্যকর করা হবে তা নিয়ন্ত্রণ করে। এই প্রকল্পে,লুপের জন্যহল বাইরের লুপ, এবং লুপের আচরণগুলি তিনবার পুনরাবৃত্তি করবে।
ভিতরের লুপগুলি হল সেই লুপগুলি যা বাইরের লুপের মধ্যে থাকে। এই উদাহরণে,whileলুপের প্রতিটি (ডিস্কে এবং লক্ষ্যে ড্রাইভ করার জন্য) হল 'ইনার লুপ' যা প্রতিবার প্রকল্পটিforলুপের মধ্য দিয়ে যাওয়ার সময় কার্যকর করা হয়।
আপনার তথ্যের জন্য
VEXcode VR পাইথন প্রকল্পগুলিতে ইন্ডেন্টেশন গুরুত্বপূর্ণ। নেস্টিং লুপ করার সময় আপনি ওয়ার্কস্পেসে ধূসর ইন্ডিকেটর লাইনগুলিকে ভিজ্যুয়াল সাহায্য হিসেবে ব্যবহার করতে পারেন, যাতে আপনার প্রজেক্ট উদ্দেশ্য অনুযায়ী কাজ করে। প্রতিটি লাইন একটি লুপের শুরু এবং শেষ নির্দেশ করে।

একটি নেস্টেড লুপ প্রকল্পের প্রবাহ
এই উদাহরণে, প্রতিবারforলুপ পুনরাবৃত্তি হলে, একটি নীল ডিস্ক তুলে নীল গোলে ফিরিয়ে দেওয়া হয়।
প্রথম পুনরাবৃত্তির পরে, প্রথম নীল ডিস্কটি নীল গোলে ফিরিয়ে দেওয়া হয় এবং VR রোবটটি দ্বিতীয় ডিস্ক সংগ্রহের জন্য প্রস্তুত হয়ে যায়।
দ্বিতীয় পুনরাবৃত্তির পরে, দ্বিতীয় নীল ডিস্কটি সংগ্রহ করা হয় এবং VR রোবটটি তৃতীয় ডিস্ক সংগ্রহের জন্য প্রস্তুত হয়ে যায়।
তৃতীয় পুনরাবৃত্তির পরে, তৃতীয় নীল ডিস্কটি সংগ্রহ করা হয় এবং VR রোবট চলা বন্ধ করে দেয়। for লুপটি এখন তার পরিসর সম্পন্ন করেছে, তাই প্রকল্পটি সম্পন্ন হয়েছে।

এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।