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

पायथन सिंटेक्स त्रुटि:लूप समाधान में ठीक से जारी नहीं है

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

यह मार्गदर्शिका इस बात की पड़ताल करती है कि इस त्रुटि का क्या अर्थ है और आपको इसका सामना क्यों करना पड़ सकता है। यह आपको इस त्रुटि के एक उदाहरण के बारे में बताता है ताकि आप समझ सकें कि यह कैसे काम करता है।

सिंटैक्स त्रुटि:लूप में ठीक से जारी नहीं है

एक जारी बयान आपको लूप या थोड़ी देर के लूप में अगले पुनरावृत्ति पर जाने देता है। बयान जारी रखें, जैसे ब्रेक स्टेटमेंट, कोई तर्क न लें। वे एक कार्यक्रम में अकेले खड़े होते हैं।

आप लूप में केवल जारी कथन का उपयोग कर सकते हैं। ऐसा इसलिए है क्योंकि जारी बयानों को लूप में प्रदर्शित करने के लिए डिज़ाइन किया गया है। आप किसी प्रोग्राम को continue . निर्देश देने के लिए जारी रखें कथन का उपयोग नहीं कर सकते हैं लूप के बाहर क्योंकि कीवर्ड के लिए यह व्याख्या करने के लिए कोई संदर्भ नहीं है कि क्या जारी रखने की आवश्यकता है।

जारी रखें स्टेटमेंट एक if स्टेटमेंट या कोड के किसी अन्य ब्लॉक के अंदर दिखाई दे सकते हैं, जब तक कि कोड का वह ब्लॉक लूप के अंदर हो।

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

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

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

product_name = input(“Enter the product name: ”)

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

इसके बाद, आइए इस प्रतिक्रिया को मान्य करें। हम यह सुनिश्चित करने के लिए 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.")

यदि कोई उपयोगकर्ता तीन वर्णों के अंतर्गत उत्पाद का नाम सम्मिलित करता है, तो कंसोल पर एक संदेश मुद्रित होता है और फिर एक जारी कथन चलता है। अन्यथा, एक ब्रेक स्टेटमेंट चलता है। हम उत्पाद के नाम की लंबाई प्राप्त करने के लिए लेन () विधि का उपयोग करते हैं।

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

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

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

हमारा कोड एक त्रुटि देता है।

समाधान

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

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

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.")

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

हमारा लूप तभी रुकता है जब उपयोगकर्ता एक वैध उत्पाद नाम सम्मिलित करता है। अन्यथा, कंसोल पर एक संदेश मुद्रित होता है और हमारा लूप फिर से चालू हो जाएगा।

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

आपके उत्पाद का नाम मान्य है।

उत्पाद का नाम दर्ज करें:रवांडा

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

उत्पाद का नाम दर्ज करें:आरडब्ल्यू

उत्पाद के नाम कम से कम तीन वर्ण लंबे होने चाहिए।

उत्पाद का नाम दर्ज करें:

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

निष्कर्ष

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

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


  1. क्या हम एक पायथन अगर क्लॉज में जारी बयान का उपयोग कर सकते हैं?

    पायथन का कंटिन्यू स्टेटमेंट एक लूप कंट्रोल स्टेटमेंट है। यह वर्तमान पुनरावृत्ति को छोड़ने के बाद लूप के अगले पुनरावृत्ति को शुरू करने का कारण बनता है। हमेशा सशर्त रूप से निष्पादित किया जाता है यानी अगर ब्लॉक में while expr==True:     stmt1     stmt2     if expr2==True:

  1. पायथन में ऑपरेटर नहीं है क्या है?

    पायथन में सदस्यता ऑपरेटर गलत का मूल्यांकन नहीं करता है यदि ऑपरेटर के दोनों ओर चर एक ही वस्तु को इंगित करता है और अन्यथा सत्य है। उदाहरण के लिए - >>> a = 10 >>> b = 20 >>> id(a), id(b) (1581561184, 1581561504) >>> a is not b True चूंकि आईडी () चर के ए और बी अलग

  1. पायथन में ऑपरेटर में क्या नहीं है?

    पायथन में नॉट इन सदस्यता ऑपरेटर सत्य का मूल्यांकन करता है यदि उसे निर्दिष्ट अनुक्रम में एक चर नहीं मिलता है और अन्यथा गलत है। उदाहरण के लिए >>> a = 10 >>> b = 4 >>> l1 = [1,2,3,4,5] >>> a not in l1 True >>> b not in l1 False चूँकि a l1 से संबंधित नहीं