विधि 1:

n = 6
for i in range(2, n):
    if n%i==0:
        print 'Not Prime Number'
        break
else:
    print 'Prime Number'

आउटपुट:

Not Prime Number

विधि 2:

n = 6
for i in range(2, n):
    if n%i==0:
        print 'Not Prime Number'
        break
print 'Prime Number'

आउटपुट:

Not Prime Number
Prime Number

मैं जानना चाहता हूं कि "विधि 1" बिल्कुल ठीक काम कर रही है, लेकिन अगर इंडेंटेशन स्टेटमेंट के तहत नहीं है तो यह कैसे ठीक काम कर रहा है? क्या कोई इस पर एक साधारण उदाहरण के साथ विस्तार कर सकता है? नोट: यह प्रश्न साक्षात्कारकर्ता द्वारा पूछा गया था

1
Rashid Aziz 15 सितंबर 2018, 17:38

3 जवाब

सबसे बढ़िया उत्तर

विधि 1 for लूप के वैकल्पिक else क्लॉज का उपयोग करती है। यह क्लॉज तब निष्पादित होता है जब लूप सामान्य रूप से पूरा होता है - यानी, break को नहीं कहा जाता है।

देखें द दस्तावेज़ अतिरिक्त विवरण के लिए।

4
Mureinik 15 सितंबर 2018, 17:40

पायथन for में else: केस है जिसे लूप के अंत में break (सामान्य for लूप निष्पादन) के बिना निष्पादित किया जाता है।

for लूप के सामान्य निष्पादन पर, लूप पूरा हो जाता है जब इटरेटर के पास कोई और तत्व नहीं होता है यानी next() इटरेटर पर विफल हो जाता है। इस स्थिति में, for का else भाग निष्पादित किया जाता है।

for x in range(5):
    print(x)
else:
    print('Loop over without break!')  # This line is printed.

मान लीजिए कि आप अचानक break स्टेटमेंट का उपयोग करके लूप को बंद कर देते हैं, तो आप लूप से बाहर निकल जाते हैं ताकि कंडीशन असत्य का मूल्यांकन न कर सके और आप कभी भी else क्लॉज नहीं चलाते।

for x in range(5):
    print(x)
    break
else:
    print('Loop over with break!')  # This line is not printed.
1
Austin 15 सितंबर 2018, 17:57

ऐसी स्थितियां हैं जब आप/अन्य के लिए, जबकि/अन्य, यदि/अन्य के लिए उपयोग कर सकते हैं। उदाहरण के लिए: उदाहरण 1:

for i in range(5):
    print(i)
else:
    print('hello world')

आउटपुट: 0 1 2 3 4 हैलो वर्ल्ड

इसे कैसे समझें? सरल, आपके पास 'फॉर' लूप है, जो 0 से 4 तक जाएगा। लेकिन जब लूप समाप्त होता है तो क्या होता है? खैर, यह तब होता है जब अन्य कथन आता है। क्योंकि आपने लिखा था कि जब यह समाप्त होता है तो आप 'हैलो वर्ल्ड' प्रिंट करेंगे।

चाल यह देखने के लिए है कि इंडेंटेशन कहां है। पिछले उदाहरण में अन्य इंडेंटेशन लूप के साथ मेल खाता है ताकि लूप खत्म होने पर यह चल सके।

उदाहरण 2:

for i in range(5)
    if i < 3:
        print(i)
    else:
        print('hello world')

आउटपुट: 0 1 2 हैलो वर्ल्ड हैलो वर्ल्ड

देखें कि अन्य का इंडेंट इफ स्टेटमेंट से कैसे मेल खाता है, इसलिए यह तब चलेगा जब अगर स्टेटमेंट गलत हो जाता है, तो i 3 से अधिक है।

1
Snedecor 15 सितंबर 2018, 17:46