while लूप्स की तरह, for लूप्स में भी else ब्लॉक हो सकते हैं जो तब निष्पादित होते हैं जब for लूप बिना किसी break स्टेटमेंट के पूरा हो जाता है। for…else की सिंटैक्स while…else की सिंटैक्स से बहुत मिलती-जुलती है।
आइए इस प्रोग्राम पर विचार करें जो दिया गया नंबर प्राइम है या नहीं, यह जांचता है। एक संख्या प्राइम होती है यदि वह 1 से बड़ी हो और 1 और स्वयं के अलावा किसी अन्य संख्या से विभाजित न हो सके।
# प्रोग्राम यह जांचने के लिए कि कोई संख्या प्राइम है या नहीं
num = int(input('Enter a number: '))
for i in range(2, num):
if num % i == 0:
print(f'{num} is not a prime number')
break
else:
print(f'{num} is a prime number')
यह प्रोग्राम [2, num) रेंज के भीतर हर संख्या की जांच करेगा कि क्या वह num का गुणांक है। अगर उसे ऐसी कोई संख्या मिलती है, तो वह {num} is not a prime number प्रिंट करेगा और लूप से बाहर निकल जाएगा। चूंकि एक break स्टेटमेंट निष्पादित हुआ है, इसलिए else ब्लॉक का कोड निष्पादित नहीं होगा। हालांकि, अगर रेंज में कोई भी संख्या num का गुणांक नहीं है, तो else स्टेटमेंट का कोड निष्पादित होगा, और प्रोग्राम {num} is a prime number प्रिंट करेगा।
चुनौती
इनपुट की पहली पंक्ति में n है, इसके बाद n पंक्तियों में पूर्णांक संख्याएं हैं। आपका कार्य है कि सूची में पहला सम संख्या The first even number in the list is {num} प्रिंट करें या यदि इनपुट संख्याओं में कोई भी सम संख्या नहीं है तो There is no even number in the list प्रिंट करें। इस चुनौती को हल करने के लिए for लूप के साथ एक else ब्लॉक का उपयोग करने का प्रयास करें!