पाठ 2: फॉर लूप के साथ प्रोजेक्ट का प्रवाह
जब कोई प्रोजेक्ट for लूप का उपयोग करता है, तब भी कमांड को निष्पादित करते समय यह उसी तर्क का पालन करता है। उदाहरण के लिए, ये दो कोड सैंपल वीआर रोबोट को एक ही तरह से गतिमान करेंगे। हालांकि,सेलूप वाली परियोजना, ऐसा करने के लिए दो ड्राइवट्रेन कमांड को चार बार दोहराती है।

एक लूप का उपयोग कमांड की एक श्रृंखला को निर्दिष्ट संख्या में दोहराने के लिए किया जाता है। लूप अपने अंदर मौजूद कमांड के अनुक्रम को दोहराता है (जिसे इटरेट भी कहा जाता है)। में, 'value' नामक चरउपयोग वर्तमान पुनरावृति ट्रैक करने के लिए जाता है, और 'in' कीवर्डउपयोग पुनरावृति की संख्या निर्दिष्ट करने के लिएहै। 
रेंज फ़ंक्शन यह निर्धारित करता है कि लूप को कितनी बार दोहराना चाहिए। वांछित संख्या में व्यवहारों को दोहराने के लिए, फ़ंक्शन के पैरामीटर को से की सीमा में सेट करें।
रेंज फ़ंक्शन मूल रूप से एक अस्थायी सूची बनाता है जो यह निर्दिष्ट करता है कि लूप को पूरा होने के लिए किन-किन चरणों से गुजरना चाहिए। वर्ग की चारों भुजाओं को खींचने जैसे दोहराए जाने वाले व्यवहारों के मामले में, रेंज फ़ंक्शन (0, 1, 2, 3) की एक अस्थायी सूची का उपयोग करता है ताकि वीआर रोबोट उन आदेशों को चार बार निष्पादित कर सके। वीआर रोबोट की गति रेंज फ़ंक्शन के पैरामीटर के आधार पर बदलेगी, जैसा कि यहां दिखाया गया है।
![]() |
![]() |
ड्राइवट्रेन कमांड 0 बार निष्पादित किए गए। |
![]() |
![]() |
ड्राइवट्रेन कमांड 1 बार निष्पादित किए गए। |
![]() |
![]() |
ड्राइवट्रेन कमांड 2 बार निष्पादित किए गए। |
![]() |
![]() |
ड्राइवट्रेन कमांड 3 बार निष्पादित किए गए। |
![]() |
![]() |
ड्राइवट्रेन कमांड को 4 बार निष्पादित किया गया, जिससे वर्ग के सभी 4 पक्ष पूरे हो गए। |
|
|
![]() |
ड्राइवट्रेन कमांड को 5 बार निष्पादित किया गया, जिससे वर्ग पूरा हो गया, और फिर पहली भुजा पर दोबारा ट्रेसिंग की गई। |
ध्यान दें कि वर्ग की खींची गई आकृति में कोई बदलाव नहीं हुआ जबरेंजफ़ंक्शन चार से पांच में बदल गया; लेकिन वीआर रोबोट की अंतिम स्थिति बदल गई। इस प्रकार, डिफ़ॉल्टरेंजफ़ंक्शन के साथलूप का उपयोग करने से वही वर्गाकार आकृति खींची जाएगी, लेकिन वीआर रोबोट अतिरिक्त छह बार व्यवहार दोहराता रहेगा।
वीआर रोबोट से लूप हेडर से लेकर अंतिम इंडेंटेड कमांड तक के कमांड्स के माध्यम से आगे बढ़ेगा। फॉरलूप हेडर यह दर्शाता है कि वीआर रोबोट को लूप के अंदर की क्रियाओं को निर्दिष्ट संख्या में दोहराना चाहिए, इससे पहले कि वह फॉर लूप के बाहर अगले कमांड पर आगे बढ़े। इंडेंट की गई लाइनें यह दर्शाती हैं कि फॉर लूप के अंदर कौन से कमांड हैं और उन्हें दोहराया जाना चाहिए।
आपकी जानकारी के लिए
VEXcode VR में,waitकमांड हमेशाforलूप के साथ जोड़ा जाता है। waitकमांड का उद्देश्य यह सुनिश्चित करना है कि VEXcode VR प्लेटफॉर्म की वेब-आधारित प्रकृति के कारण VEXcode VR प्रोजेक्ट को इच्छानुसार ठीक से चला सके। उपयोग करते समयकमांडकभी भी डिलीट नहीं किया जाना चाहिए, अन्यथा आपका प्रोजेक्ट इच्छानुसार नहीं चल सकता है।

निर्दिष्ट संख्या में बार फॉर लूप को निष्पादित करने के लिए सेट किया जाता है, जिससे प्रोजेक्ट आवश्यक पुनरावृत्ति पूरी होने परफॉरलूप से बाहर निकल जाता है। लूप के बाहर अगले कमांड पर जाने से पहले फॉर लूप में रेंजफ़ंक्शन के पैरामीटर तक पहुंचना आवश्यक है। नीचे दिए गए कोड उदाहरण में, एक बार जबforलूप में ड्राइवट्रेन कमांड चार बार निष्पादित हो जाते हैं, तो प्रोजेक्टforलूप से बाहर निकल जाएगा, पेन का रंग लाल सेट कर देगा और रिवर्स में ड्राइव करेगा। 
मिनी चैलेंज
इस प्रोजेक्ट में, VR रोबोट को आर्ट कैनवास प्लेग्राउंड, पर एक नीला वर्ग बनाना चाहिए, लेकिन प्रोजेक्ट में त्रुटियां हैं। मिनी चुनौती को हल करने के लिए प्रोजेक्ट को संपादित करें!

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











