Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python SyntaxError: continue not properly in loop समाधान

SyntaxError: continue not properly in loop

continue कीवर्ड प्रोग्राम के क्रम को लूप में अगले इटरेशन पर ले जाता है। यदि आप फोर लूप या व्हाइल लूप के बाहर continue स्टेटमेंट का उपयोग करते हैं, तो SyntaxError: continue not properly in loop एरर उठाई जाएगी।

यह गाइड खोजता है कि इस एरर का क्या मतलब है और आप इसका सामना क्यों कर सकते हैं। यह आपको इस एरर के एक उदाहरण के माध्यम से चलाता है ताकि आप समझ सकें कि यह कैसे काम करता है।

उदाहरण परिदृश्य

आइए कॉफी हाउस में इन्वेंट्री मैनेजमेंट सिस्टम के लिए इनपुट को वैलिडेट करने वाला प्रोग्राम बनाते हैं। इनपुट के वैध होने के लिए, इसमें कम से कम तीन कैरेक्टर्स होने चाहिए।

शुरू करने के लिए, यूज़र से उस प्रोडक्ट का नाम डालने के लिए कहें जिसे वे सिस्टम में दर्ज करना चाहते हैं:

product_name = input("Enter the product name: ")

अगला, आइए इस प्रतिक्रिया को वैलिडेट करें। हम यह सुनिश्चित करने के लिए if स्टेटमेंट का उपयोग करेंगे कि इनपुट कम से कम तीन कैरेक्टर्स लंबा है:

if len(product_name) < 3:
    print("Product names must be at least three characters long.")
    continue
else:
    break
print("Your product name is valid.")

यदि यूज़र तीन कैरेक्टर्स से कम लंबा प्रोडक्ट नाम डालता है, तो कंसोल पर मैसेज प्रिंट होता है और फिर continue स्टेटमेंट चलता है। अन्यथा, break स्टेटमेंट चलता है। हम प्रोडक्ट नाम की लंबाई प्राप्त करने के लिए len() मेथड का उपयोग करते हैं।

यदि हमारा प्रोडक्ट नाम वैध है, तो मैसेज कंसोल पर प्रदर्शित होता है जो हमें सूचित करता है कि यह मामला है।

अब जब हमने अपना वैलिडेटर लिख लिया है, तो हम अपना कोड चलाने के लिए तैयार हैं। आइए देखें क्या होता है जब हम अपना प्रोग्राम चलाते हैं:

 File "main.py", line 3
    continue
    ^
SyntaxError: 'continue' not properly in loop

हमारा कोड एरर रिटर्न करता है।

समाधान

हमने अपने प्रोग्राम को यह बताने के लिए continue स्टेटमेंट्स का उपयोग किया है कि यदि विशेष शर्त पूरी होती है तो चलते रहें। जबकि हम if स्टेटमेंट में continue स्टेटमेंट का उपयोग कर सकते हैं, हमारा continue स्टेटमेंट लूप के अंदर कहीं दिखाई देना चाहिए।

हम अपने प्रोग्राम में लूप का उपयोग नहीं करते जो हमारे continue के उपयोग को कुछ हद तक काउंटरप्रोडक्टिव बनाता है। इससे भी अधिक यह है कि हम continue का उपयोग कर रहे हैं, जो एरर का कारण बनता है। इस एरर को ठीक करने के लिए, हमें अपने कोड को लूप में घेरने की आवश्यकता है:

while True:
    product_name = input("Enter the product name: ")
    if len(product_name) < 3:
        print("Product names must be at least three characters long.")
        continue
    else:
        break
print("Your product name is valid.")

हमने अपने कोड में एक बदलाव किया है। हमारा पूरा प्रोग्राम अब व्हाइल लूप के अंदर है। इसका मतलब है कि यूज़र को प्रोडक्ट नाम डालने के लिए तब तक प्रॉम्प्ट किया जाएगा जब तक लूप रुक नहीं जाता।

हमारा लूप केवल तभी रुकता है जब यूज़र वैध प्रोडक्ट नाम डालता है। अन्यथा, मैसेज कंसोल पर प्रिंट होता है और हमारा लूप फिर से इटरेट करेगा।

आइए अपना प्रोग्राम चलाएं और देखें क्या होता है:

Your product name is valid.
Enter the product name: Rwandan

हमारा कोड सफलतापूर्वक चलता है! आइए अमान्य प्रोडक्ट नाम पर अपना कोड चलाने का प्रयास करें:

Enter the product name: RW
Product names must be at least three characters long.
Enter the product name:

हमारा प्रोग्राम हमें सूचित करता है कि प्रोडक्ट नाम अमान्य है और हमें दूसरा प्रोडक्ट नाम डालने के लिए प्रॉम्प्ट करता है।

निष्कर्ष

SyntaxError: continue not properly in loop एरर तब उठाई जाती है जब आप फोर लूप या व्हाइल लूप के बाहर continue स्टेटमेंट का उपयोग करने का प्रयास करते हैं। इस एरर को ठीक करने के लिए, अपने कोड में किसी भी continue स्टेटमेंट को लूप के अंदर घेरें।

अब आपके पास इस एरर को एक प्रोफेशनल की तरह ठीक करने का ज्ञान है!

  1. - क्या Python के if क्लॉज में continue स्टेटमेंट का उपयोग कर सकते हैं?

    Python का `continue` स्टेटमेंट एक लूप कंट्रोल स्टेटमेंट है। यह वर्तमान इटरेशन को छोड़कर लूप के अगले इटरेशन को शुरू करता है। अनिवार्य रूप से यह सशर्त रूप से निष्पादित होता है, यानी `if` ब्लॉक के अंदर। while expr == True: stmt1 stmt2 if expr2 == True: continue stmt3 stmt4

  1. - Python में is not ऑपरेटर क्या है?

    Python में `is not` मेंबरशिप ऑपरेटर false मूल्यांकन करता है यदि ऑपरेटर के दोनों तरफ के वेरिएबल्स एक ही ऑब्जेक्ट की ओर इशारा करते हैं और अन्यथा true। उदाहरण के लिए: >>> a = 10 >>> b = 20 >>> id(a), id(b) (1581561184, 1581561504) >>> a is not b True चूंकि वेरिएबल्स

  1. - Python में not in ऑपरेटर क्या है?

    Python में `not in` मेंबरशिप ऑपरेटर true मूल्यांकन करता है यदि यह निर्दिष्ट अनुक्रम में वेरिएबल को नहीं ढूंढता और अन्यथा false। उदाहरण के लिए: >>> a = 10 >>> b = 4 >>> l1 = [1, 2, 3, 4, 5] >>> a not in l1 True >>> b not in l1 False चूंकि a l1 से संबंधित