How to skip iteration step inside a function in a for loop in python? -


फ़ंक्शन:

  def function_1 (मान): यदि मान & lt; 5: जारी रखें अन्य: प्रिंट "मान:", मूल्य  

लूप:

  xrange (10) में मान के लिए: function_1 (value)  

में ऊपर लूप के लिए, यदि मूल्य 5 से कम है, तो function_1 लूप के लिए अगले पुनरावृत्ति को छोड़ देगा, अन्यथा यह प्रिंट होगा मूल्य। ऊपर से ऊपर लूप के अंदर फ़ंक्शन की मदद से एक पुनरावृत्ति चरण कैसे छोड़ सकता हूं?

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

यहां संचार करने के विभिन्न साधनों का उपयोग करें। अपवाद का उपयोग करें या लूप कोड को इंगित करने के लिए एक बूलियन लौटने के लिए इसे अगले आवृत्ति पर छोड़ने की आवश्यकता होती है।

अपवाद का उपयोग करना:

  xrange (10) में मान के लिए: प्रयास करें: फ़ंक्शन_1 (मान) ExceptionRaisedByFunction1 को छोड़कर: # फ़्रेबर्नर बाज़ को जारी रखने में विफल रहा है  

फ़ंक्शन में एक असाधारण स्थिति संकेत करेगा, यह दर्शाता है कि मौजूदा मान उपयुक्त नहीं है और शेष उदाहरण के लिए, फिर से चलना छोड़ दिया जा सकता है।

आप इसके बजाए अपने पुनरावृति को फ़िल्टर करने के बजाय, जनरेटर फ़ंक्शन का उपयोग करने पर विचार कर सकते हैं:

  def filter_function (iterable): के लिए मूल्य में पुनरावृत्त: यदि मान & gt; = 5: प्रिंट "मूल्य:", filter_function (xrange (10)) में मान के लिए मूल्य उपज मान: # मूल्य के साथ कुछ करें  

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


Comments