पाठ 2: क्रियाओं को दोहराना
अब जबकि वीआर रोबोट ने पेन का उपयोग करके आर्ट कैनवास प्लेग्राउंड पर एक वर्ग बना दिया है, तो आपलूप के लिए उपयोग करना सीखेंगे और अपने प्रोजेक्ट को सरल बनाएंगे। यह पाठ आपको आर्ट कैनवास प्लेग्राउंड परफॉर लूप का उपयोग करके एक वर्ग बनाने के चरणों के माध्यम से ले जाएगा।

सीखने के परिणाम
- पहचानें कि for लूप का उपयोग करके इसके अंदर दिए गए आदेशों को एक निश्चित संख्या में कैसे दोहराया जाए।
- पहचानें कि for लूप में एक 'value' वेरिएबल और एकrangeफ़ंक्शन शामिल है जो दोहराव की संख्या की पहचान करता है।
- पहचानें किforलूप काrangeफ़ंक्शन यह पहचानता है कि लूप को कितनी बार दोहराया जाना चाहिए।
- पहचानें किforलूप काrangeफ़ंक्शन पूर्णांकों को पैरामीटर के रूप में स्वीकार कर सकता है।
- वर्णन करें कि किसी प्रोजेक्ट में for लूप का उपयोग क्यों किया जाएगा।
- एक परियोजना के प्रवाह का वर्णन करें जिसमें for लूप शामिल है।
परियोजना का नाम बदलें
- यदि पिछले पाठ का प्रोजेक्ट पहले से लोड नहीं है, तो Unit3Lesson1 प्रोजेक्ट लोड करें।
- प्रोजेक्ट नाम बॉक्स का चयन करके प्रोजेक्ट का नाम बदलें।

- नया प्रोजेक्ट नाम दर्ज करें Unit3Lesson2, और “सहेजें” चुनें।

दोहराई जाने वाली क्रियाएँ
for लूप का उपयोग इसके अंदर दिए गए आदेशों को एक निश्चित संख्या में दोहराने के लिए किया जाता है। for लूप उन परियोजनाओं को बनाते समय समय और प्रयास बचाता है जहां कमांड दोहराए जाते हैं। अतिरिक्त कमांड को खींचने या टाइप करने या कार्यक्षेत्र में मौजूदा कमांड की प्रतिलिपि बनाने में समय लगाने के बजाय, forलूप का उपयोग स्थान और समय बचाने के लिए किया जा सकता है।
यह परियोजनाफॉरलूप का उपयोग करके वीआर रोबोट को एक वर्ग की चारों भुजाएं खींचने के लिए प्रेरित करेगी, जिसमें एक भुजा खींचने के लिए दिए गए आदेशों को चार बार दोहराया जाएगा।
- पिछली परियोजना को संशोधित करके, नीचे दी गई परियोजना की प्रतिलिपि बनाकर, या इस आधार परियोजना से मेल खाने वाली नई परियोजना बनाकर आरंभ करें।
def main():
pen.move(DOWN)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
-
इस परियोजना में दोहराए गए आदेशdrive_forऔरturn_forआदेश हैं। प्रोजेक्ट में नीचे के छह कमांड हटा दें, ताकिmoveकमांड के नीचे केवल एकdrive_forऔर एक turn_forकमांड बचे, और प्रोजेक्ट इस तरह दिखेगा:
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) -
forलूप को main functionके अंत तक खींचें, ताकि आपका प्रोजेक्ट इस तरह दिखे। ध्यान दें किforलूप स्वचालित रूप से अंदरwaitकमांड भर देगा। waitकमांडन हटाएं, इससे यह सुनिश्चित होगा कि VR रोबोट सही ढंग से व्यवहार करे।
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) for repeat_count in range(10): wait(5, MSEC) - वर्ग की एक भुजा बनाने के लिए ड्राइवट्रेन कमांड को दोहराने के लिएforलूप के लिए, उन कमांडों को forलूप के भीतर होना चाहिए, जिसे इंडेंटेशन द्वारा दर्शाया गया है। ड्राइवट्रेन कमांड के लिए स्थान बनाने हेतुforलूप औरwaitकमांड के बीच दो लाइनें जोड़ें।

- इसके बाद, ड्राइवट्रेन कमांड को for लूप के अंदर ले जाने के लिए, कमांड को for लूप हेडर के नीचे कॉपी और पेस्ट करें, कमांड को हाइलाइट करें और drive_for और turn_for कमांड को लूप हेडर और waitकमांड के बीच खींचें, या उन्हें नीचे दिए गए प्रोजेक्ट से कॉपी और पेस्ट करें।
def main():
pen.move(DOWN)
for value in range(10):
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)- सुनिश्चित करें कि for लूप के अंदर के कमांड सही ढंग से इंडेंट किए गए हैं, बाईं ओर की ग्रे लाइन का उपयोग गाइड के रूप में करें जो इंगित करता है कि for लूप के अंदर कौन से कमांड हैं
आपकी जानकारी के लिए
पायथन मेंमहत्वपूर्ण कमांडों का इंडेंटेशन यह निर्धारित करता है कि किसी परियोजना का निष्पादन कैसे किया जाएगा। forलूप के मामले में, इसके भीतर इंडेंट किए गए कमांड लूप के भाग के रूप में चलाए जाएंगे। आप कमांड के बाईं ओर की पंक्तियों का उपयोग दृश्य मार्गदर्शिका के रूप में कर सकते हैं कि लूप के भीतर कमांड को किस प्रकार समूहीकृत किया जा रहा है।

इंडेंटेशन में त्रुटियाँ आपके प्रोजेक्ट के प्रवाह को प्रभावित कर सकती हैं, तथा आपके प्रोजेक्ट को अपेक्षित रूप से नहीं चलने दे सकती हैं। इंडेंटेशन की कमी, या असमान इंडेंटेशन, जैसा कि यहां दिखाया गया है, से बचना चाहिए ताकि आपका कोड अपेक्षित रूप से कार्य कर सके।

VEXcode VR आपको अपना प्रोजेक्ट चलाने से पहले इंडेंटेशन त्रुटियों को हल करने के लिए कह सकता है। इन त्रुटियों को प्रिंट कंसोल में पहचाना जा सकता है, ताकि आप आसानी से समस्या का समाधान कर सकें और अपना प्रोजेक्ट चला सकें।
- अब चूंकि वर्ग की एक भुजा खींचने के लिए ड्राइवट्रेन कमांड लूप के भीतर हैं, रेंजफ़ंक्शन का पैरामीटर सेट किया जा सकता है। एक वर्ग बनाने के लिए, चार भुजाएँ खींचनी होंगी। आदेशों को चार बार दोहराने के लिए, के लिए लूप हेडर में रेंज फ़ंक्शन के पैरामीटर को "4" पर सेट करें ताकि एक वीआर रोबोट एक वर्ग के सभी चार पक्षों को खींच सके।

आपकी जानकारी के लिए
for लूप हेडर में range फ़ंक्शन पूर्णांक स्वीकार कर सकता है। दशमलव (या फ्लोट) for लूप के लिए पैरामीटर के रूप में काम नहीं करेगा। श्रेणीफ़ंक्शन के लिए डिफ़ॉल्ट पैरामीटर '10' है।

- यदि यह पहले से खुला नहीं है तो आर्ट कैनवस प्लेग्राउंड को खोलने के लिए "ओपन प्लेग्राउंड" बटन का चयन करें और प्रोजेक्ट शुरू करें।

-
वीआर रोबोट को आगे बढ़ते हुए देखें और पेन से एक वर्ग बनाने के लिए आर्ट कैनवास प्लेग्राउंड पर चार बार दाईं ओर मुड़ें।

इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन का चयन करें।