नेस्टेड शर्तें बहुत जल्दी गहरी हो सकती हैं। इससे कोड को पढ़ना कठिन हो जाता है और प्रोग्रामर कई नेस्टेड शर्तों (और सामान्य रूप से अधिक नेस्टेड कोड) से बचना पसंद करते हैं। पायथन एक उपयोगिता elif प्रदान करता है जो else और फिर if स्टेटमेंट्स से बचने में मदद करता है:
if name == 'Alice':
print('Hey there!')
else:
if name == 'Bob':
print('How are you doing?')
else:
if name == 'Anna':
print('Hello, Anna')
else:
print('Hi!')
if name == 'Alice':
print('Hey there!')
elif name == 'Bob':
print('How are you doing?')
elif name == 'Anna':
print('Hello, Anna')
else:
print('Hi!')
ये दोनों प्रोग्राम बिल्कुल एक जैसा ही काम करते हैं। वे निजी अभिवादन संदेश प्रिंट करते हैं और कई if/else स्टेटमेंट्स शामिल करते हैं। फिर भी, पहले वाले में कई स्तरों के नेस्टेड if/else ब्लॉक्स हैं, जबकि दूसरे में elif स्टेटमेंट्स का उपयोग किया गया है जो else if के लिए होता है।
चुनौती
हमारे पास 0 से 100 के बीच का एक ग्रेड है, और हम जानना चाहते हैं कि वह ग्रेड अमेरिकी लेटर ग्रेडिंग सिस्टम (A, B, C, D, और F) में किसके बराबर होगा।
नोट: केवल रेंज चेक के साथ if स्टेटमेंट्स का उपयोग न करें। किसी अन्य शर्त की जांच करते समय elif का उपयोग करें।