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

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

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

नीचे दिया गया वीडियो दिखाता है कि मिनी चैलेंज को पूरा करने के लिए क्या करना होगा। रोबोट खेल के मैदान के बीच से शुरू होता है और एक बड़े नीले वर्ग के चारों किनारों को खींचता है।
- समाधान वीडियो देखें और समीक्षा करें कि मिनी चुनौती को पूरा करने के लिए वीआर रोबोट को किस प्रकार चलना चाहिए।
- इस छवि से मेल खाने के लिए 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)- प्रोजेक्ट शुरू करें और पहचानें कि वीआर रोबोट कहां अपेक्षित व्यवहार पूरा नहीं कर रहा है।
- प्रोजेक्ट को संशोधित करें और पुनः चलाएं. देखें कि क्या VR रोबोट अपेक्षित व्यवहार पूरा करता है।
- यदि VR रोबोट नीला वर्ग नहीं बनाता है, तो पिछले चरण को दोहराएं और पुनः प्रयास करें। जब तक VR रोबोट एक नीला वर्ग नहीं बना देता, तब तक अपने प्रोजेक्ट को संशोधित करना और चलाना जारी रखें।
- एक बार जब वीआर रोबोट सफलतापूर्वक आर्ट कैनवास प्लेग्राउंडपर एक नीला वर्ग खींच लेता है, तो प्रोजेक्ट को सेव करें।
बधाई हो! आपने मिनी चुनौती हल कर ली!











