मॉड्यूल पाठ (3/4)
तोड़ें, जारी रखें और अन्यथा लूप में
एक लूप के अंदर (for और while दोनों) आप सामान्य प्रवाह को बदल सकते हैं
तीन निर्माण:
break- लूप से तुरंत बाहर निकल जाता है।continue- शरीर के बाकी हिस्सों को छोड़ देता है और अगले पुनरावृत्ति पर चला जाता है।else(लूप पर) - तब निष्पादित होता है जब लूप बिनाbreakके समाप्त हो जाता है।
break
for n in [3, 7, 11, 4, 9]:
if n % 2 == 0:
primo_pari = n
break
primo_pari # 4break जितनी जल्दी हो सके लूप बंद कर देता है। break के बाद कुछ भी
वर्तमान पुनरावृत्ति का मुख्य भाग निष्पादित नहीं है।
continue
risultati = []
for n in range(1, 11):
if n % 2 == 0:
continue # skip evens
risultati.append(n * n)
risultati # [1, 9, 25, 49, 81]continue को "अगले पुनरावृत्ति पर जाएं" के रूप में सोचें। इसका उपयोग वस्तुओं को फ़िल्टर करने के लिए किया जाता है
एक और इंडेंटेशन स्तर जोड़े बिना।
else लूप पर (पायथनिक मुहावरा)
पायथन की एक विशेषता: लूप में एक else भी हो सकता है, जिसे केवल तभी निष्पादित किया जाता है
लूप समाप्त हो गया स्वाभाविक रूप से (break के बिना)। यह खोजों के लिए बिल्कुल उपयुक्त है:
target = 7
for n in [2, 4, 6, 8]:
if n == target:
trovato = True
break
else:
trovato = False
trovato # Falseइसे इस प्रकार पढ़ें: "सूची में प्रत्येक n के लिए; यदि आप break शाखा लेते हैं, तो छोड़ें
अन्य; अन्यथा अन्य निष्पादित करें"।
नेस्टेड लूप: ब्रेक केवल अंतरतम से बाहर निकलता है
for x in range(3):
for y in range(3):
if x == y == 1:
break
print(x, y)break केवल for y से बाहर निकलता है, for x से नहीं। दोनों से बाहर निकलने के लिए आपको a का उपयोग करना होगा
ध्वज या फ़ंक्शन + return।
असामान्य लूप...अन्यथा निर्माण
पायथन में, for और while लूप दोनों में एक वैकल्पिक else क्लॉज हो सकता है। else ब्लॉक को केवल तभी निष्पादित किया जाता है जब लूप सामान्य रूप से पूरा हो जाता है (यानी break स्टेटमेंट का सामना किए बिना)। यह खोज एल्गोरिदम के लिए बहुत उपयोगी है (उदाहरण के लिए "किसी तत्व की खोज करें: यदि मिल जाए, तो तोड़ दें; अन्यथा, रिपोर्ट करें कि यह नहीं मिला")।
खुद कोशिश करना
सूची `संख्या = [10, 15, 20, 25, 30, 35]` को देखते हुए, 7 से विभाज्य पहली संख्या ढूंढें और इसे `परिणाम` के लिए निर्दिष्ट करें। यदि कोई मौजूद नहीं है, तो -1 असाइन करें।
संकेत दिखाएँ
35 सूची में 7 से विभाज्य होने वाला पहला (और एकमात्र) है।
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
रेंज (1, 21) पर लूप का उपयोग करके 1 से 20 (समावेशी) तक की विषम संख्याओं के साथ `odd_numbers` सूची बनाएं और ईवन को छोड़ना जारी रखें।
संकेत दिखाएँ
यदि n सम है, तो जारी रखें; अन्यथा संलग्न करें.
3 प्रयासों के बाद समाधान उपलब्ध है
अतिरिक्त चुनौती
Given the list `numbers = [7, 11, 14, 21, 25]`, write a `for` loop to find the first number that is divisible by 7 and also strictly greater than 10. When you find it, store it in `found` and exit the loop using `break`. Finally, evaluate `found`.
संकेत दिखाएँ
Inside the loop, check if num % 7 == 0 and num > 10:, assign it to found and trigger break.
3 प्रयासों के बाद समाधान उपलब्ध है