Python सशर्त कथन: IF…Else, ELIF और स्विच केस

⚡ स्मार्ट सारांश

Python कंडीशनल स्टेटमेंट्स प्रोग्राम के प्रवाह को निर्देशित करते हैं, और केवल तभी विशिष्ट कोड ब्लॉक्स को निष्पादित करते हैं जब बूलियन एक्सप्रेशंस सही साबित होते हैं। इनमें if, else, elif, नेस्टेड if, टर्नरी ऑपरेटर और स्ट्रक्चरल पैटर्न मैचिंग शामिल हैं, जो स्पष्ट और निर्णय-आधारित लॉजिक के लिए उपयोगी हैं।

  • मूल अवधारणा: एक if स्टेटमेंट अपने निर्धारित ब्लॉक को तभी चलाता है जब शर्त सही साबित होती है, जो निर्णय लेने की प्रक्रिया का आधार बनता है। Python.
  • वैकल्पिक हैंडल: बैकअप विकल्प के लिए else और अतिरिक्त शर्तों का अनुक्रम में परीक्षण करने के लिए elif का उपयोग करें, ताकि गहरे नेस्टिंग से बचा जा सके।
  • तार्किक त्रुटियों से बचें: जब केवल एक ही परिणाम लागू होना चाहिए, तो स्वतंत्र if स्टेटमेंट के बजाय एक ही if-elif-else श्रृंखला का उपयोग करें।
  • संक्षिप्त लिखें Code: एक पठनीय पंक्ति में मान निर्दिष्ट करने के लिए, त्रिगुणीय व्यंजक value_if_true if condition else value_if_false का प्रयोग करें।
  • आधुनिक शाखाकरण: लंबी elif श्रृंखलाओं को डिक्शनरी मैप से बदलेंping या फिर इसमें प्रस्तुत मैच-केस स्टेटमेंट Python 3.10 बेहतर मल्टीवे सेलेक्शन के लिए।

Python सशर्त बयान

सशर्त कथन क्या हैं? Python?

सशर्त कथन Python किसी विशिष्ट बूलियन बाधा के सही या गलत होने के आधार पर विभिन्न गणनाएँ या क्रियाएँ करें। वे प्रोग्राम को प्रत्येक पंक्ति को क्रम से चलाने के बजाय निर्णय लेने और अलग-अलग रास्तों का अनुसरण करने की अनुमति देते हैं। Pythonसशर्त कथनों को इसके द्वारा संभाला जाता है if कथन और उसके साथी: एल्स, एलआईएफ और नेस्टेड आईएफ।

एचएमबी क्या है? Python यदि कथन?

RSI Python अगर बयान इसका उपयोग निर्णय लेने संबंधी कार्यों के लिए किया जाता है। इसमें कोड का एक भाग होता है जो केवल तभी चलता है जब if स्टेटमेंट में दी गई शर्त सत्य होती है। यदि शर्त असत्य है, तो इसके बजाय वैकल्पिक else स्टेटमेंट चलता है, जिसमें else शर्त के लिए कोड होता है। जब आप एक शर्त पर कार्रवाई करना चाहते हैं जबकि दूसरी सत्य नहीं है, तो आप इसका उपयोग करते हैं। Python यदि-अन्यथा कथन.

Python यदि कथन सिंटैक्स:

if expression:
    statement
else:
    statement

Python यदि…अन्यथा फ्लोचार्ट

Python सही और गलत शाखाओं को दर्शाने वाला if…else फ्लोचार्ट

ऊपर दिया गया फ्लोचार्ट दर्शाता है कि नियंत्रण एक if-else स्टेटमेंट के माध्यम से कैसे प्रवाहित होता है। आइए इसका एक उदाहरण देखें। Python इफ-एल्स स्टेटमेंट का उदाहरण:

Python एडिटर में if स्टेटमेंट का उदाहरण आउटपुट

# Example file for working with conditional statements
def main():
    x, y = 2, 8
    if(x < y):
        st = "x is less than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code रेखा 3: हम दो चर x, y = 2, 8 को परिभाषित करते हैं।
  • Code रेखा 4: if स्टेटमेंट x < y की स्थिति की जाँच करता है, जो कि है यह सच है इस मामले में।
  • Code रेखा 5: चर st को “x, y से छोटा है” पर सेट किया गया है।
  • Code रेखा 6: प्रिंट(st) लाइन st का मान आउटपुट करती है, जो कि "x, y से छोटा है" है।

जब “यदि” शर्त पूरी नहीं होती है तो क्या होता है?

पिछले उदाहरण के आधार पर, आइए देखें कि जब if कंडीशन लागू होती है तो क्या होता है। Python यह शर्त पूरी नहीं होती। जब शर्त गलत होती है और कोई अन्य शाखा मौजूद नहीं होती, तो इंडेंट किया गया कोड पूरी तरह से छोड़ दिया जाता है।

Python त्रुटि तब उत्पन्न होती है जब if शर्त पूरी नहीं होती है

# Example file for working with conditional statements
def main():
    x, y = 8, 4
    if(x < y):
        st = "x is less than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code रेखा 3: हम दो चर x, y = 8, 4 को परिभाषित करते हैं।
  • Code रेखा 4: if स्टेटमेंट x < y की स्थिति की जाँच करता है, जो कि है झूठा इस मामले में।
  • Code रेखा 5: चर st है नहीं “x, y से छोटा है” पर सेट करें।
  • Code रेखा 6: पंक्ति print(st) एक ऐसे चर को प्रिंट करने का प्रयास करती है जिसे कभी घोषित नहीं किया गया था, इसलिए Python उठाता है नामत्रुटि.
⚠ चेतावनी: किसी ऐसे वेरिएबल का संदर्भ देना जिसे केवल if ब्लॉक के अंदर ही मान दिया जाता है, शुरुआती लोगों की एक आम गलती है। या तो एक else ब्रांच प्रदान करें या if स्टेटमेंट से पहले वेरिएबल को एक डिफ़ॉल्ट मान दें।

“else” कंडीशन का उपयोग कैसे करें

ऊपर बताई गई त्रुटि से बचने के लिए, आप एक एल्स कंडीशन जोड़ सकते हैं। एल्स कंडीशन का उपयोग तब किया जाता है जब आपको एक स्टेटमेंट का मूल्यांकन दूसरे स्टेटमेंट के आधार पर करना होता है। यदि एक कंडीशन गलत होती है, तो एल्स ब्लॉक एक वैकल्पिक मार्ग प्रदान करता है जिससे प्रोग्राम परिणाम देता है।

उदाहरण:

Python इफ-एल्स स्थिति का उदाहरण

# Example file for working with conditional statements
def main():
    x, y = 8, 4
    if(x < y):
        st = "x is less than y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code रेखा 3: हम दो चर x, y = 8, 4 को परिभाषित करते हैं।
  • Code रेखा 4: if स्टेटमेंट x < y की स्थिति की जाँच करता है, जो कि है झूठा इस मामले में।
  • Code रेखा 6: प्रोग्राम नियंत्रण का प्रवाह एल्स कंडीशन की ओर जाता है।
  • Code रेखा 7: चर st को “x है” पर सेट किया गया है अधिक से अधिक y से अधिक।”
  • Code रेखा 8: प्रिंट(st) लाइन st का मान आउटपुट करती है, जो कि "x, y से बड़ा है" है।

जब “else” शर्त काम नहीं करती

एल्स कंडीशन हमेशा वांछित परिणाम नहीं देती। प्रोग्राम लॉजिक में त्रुटि होने पर यह गलत आउटपुट भी दे सकती है। ऐसा आमतौर पर तब होता है जब आपको प्रोग्राम में दो से अधिक कथनों या शर्तों को सही ठहराना होता है। एक उदाहरण से आपको यह अवधारणा समझने में मदद मिलेगी।

यहां दोनों चर समान हैं (8, 8), फिर भी प्रोग्राम का आउटपुट यह है “x, y से बड़ा है,” जो है गलतऐसा इसलिए होता है क्योंकि प्रोग्राम पहली शर्त (if शर्त) की जाँच करता है, और जब वह विफल हो जाती है, तो वह दूसरी शर्त (else शर्त) को डिफ़ॉल्ट रूप से प्रिंट कर देता है। अगले चरण में, हम देखेंगे कि इस त्रुटि को कैसे ठीक किया जाए।

Python अन्यथा स्थिति गलत परिणाम उत्पन्न कर रही है

# Example file for working with conditional statements
def main():
    x, y = 8, 8
    if(x < y):
        st = "x is less than y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()

“elif” शर्त का उपयोग कैसे करें

एल्स कंडीशन द्वारा की गई पिछली त्रुटि को सुधारने के लिए, हम इसका उपयोग कर सकते हैं। elif elif कंडीशन का उपयोग करके, आप प्रोग्राम को यह निर्देश देते हैं कि जब पहली कंडीशन गलत हो, तो तीसरी संभावना की जांच करें। आप अपने कोड में चौथी, पाँचवीं और आगे की संभावनाओं की जांच करने के लिए कई elif कंडीशन को एक साथ जोड़ सकते हैं।

उदाहरण:

Python elif शर्त का उदाहरण

# Example file for working with conditional statements
def main():
    x, y = 8, 8
    if(x < y):
        st = "x is less than y"
    elif(x == y):
        st = "x is same as y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code रेखा 3: हम दो चर x, y = 8, 8 को परिभाषित करते हैं।
  • Code रेखा 4: if स्टेटमेंट x < y की स्थिति की जाँच करता है, जो कि है झूठा इस मामले में।
  • Code रेखा 6: प्रोग्राम नियंत्रण का प्रवाह elif शर्त की ओर जाता है। यह जाँचता है कि क्या x == y है, जो कि सत्य है।
  • Code रेखा 7: चर st को “x है” पर सेट किया गया है के रूप में एक ही y। "
  • Code रेखा 10: प्रोग्राम का नियंत्रण if स्टेटमेंट से बाहर निकल जाता है (यह else स्टेटमेंट तक नहीं पहुँचेगा) और st प्रिंट करता है। आउटपुट "x, y के समान है" है, जो सही है।

न्यूनतम संसाधनों के साथ सशर्त कथन को कैसे निष्पादित करें Code

अब आप पूर्ण if-elif-else ब्लॉक लिख सकते हैं, Python यह आपको एक सरल स्थिति को एक ही पंक्ति में संक्षेपित करने की सुविधा देता है। प्रत्येक शाखा के लिए अलग-अलग कोड लिखने के बजाय, आप इसका उपयोग कर सकते हैं। त्रिगुणीय (सशर्त) अभिव्यक्ति.

सिंटेक्स:

value_if_true if condition else value_if_false

उदाहरण:

Python एक-पंक्ति त्रिगुणीय सशर्त कथन का उदाहरण

def main():
    x, y = 10, 8
    st = "x is less than y" if (x < y) else "x is greater than or equal to y"
    print(st)

if __name__ == "__main__":
    main()
  • Code रेखा 2: हम दो चर x, y = 10, 8 को परिभाषित करते हैं।
  • Code रेखा 3: यदि x < y हो तो चर st का मान “x, y से कम है” निर्धारित किया जाता है; अन्यथा यह “x, y से अधिक या बराबर है” हो जाता है। चूंकि यहां x > y है, इसलिए st का मान दूसरा मान बन जाता है।
  • Code रेखा 4: यह st का मान प्रिंट करता है और सही आउटपुट देता है।

Python नेस्टेड if स्टेटमेंट

नेस्टेड इफ स्टेटमेंट में एक इफ स्टेटमेंट दूसरे के अंदर होता है, जो तब उपयोगी होता है जब कोई निर्णय दूसरी शर्त पर निर्भर करता है। निम्नलिखित उदाहरण नेस्टेड इफ स्टेटमेंट को दर्शाता है। Python जो जहाज की गणना करता हैping लागत देश और ऑर्डर की कुल राशि पर आधारित है।

total = 100
# country = "US"
country = "AU"

if country == "US":
    if total <= 50:
        print("Shipping Cost is $50")
    elif total <= 100:
        print("Shipping Cost is $25")
    elif total <= 150:
        print("Shipping Cost is $5")
    else:
        print("FREE")

if country == "AU":
    if total <= 50:
        print("Shipping Cost is $100")
    else:
        print("FREE")

ऊपर दिए गए कोड में लाइन 2 को अनकमेंट करें, लाइन 3 को कमेंट आउट करें और कोड को फिर से चलाकर देखें कि किसी दूसरे देश के लिए आउटपुट कैसे बदलता है।

केस स्टेटमेंट को इसमें बदलें Python

स्विच स्टेटमेंट क्या है?

स्विच स्टेटमेंट एक मल्टीवे ब्रांच स्टेटमेंट है जो केस स्टेटमेंट में निर्दिष्ट मानों के विरुद्ध एक वेरिएबल के मान की तुलना करता है। कई वर्षों से, Python उस भाषा में स्विच स्टेटमेंट नहीं था, इसलिए डेवलपर्स ने उसी व्यवहार को लागू करने के लिए इसका उपयोग किया। Python शब्दकोश नक्शाping.

डिक्शनरी मैप का उपयोग करके उदाहरणping:

def switch_example(argument):
    switcher = {
        0: "This is Case Zero",
        1: "This is Case One",
        2: "This is Case Two",
    }
    return switcher.get(argument, "nothing")

if __name__ == "__main__":
    argument = 1
    print(switch_example(argument))

मैचिंग के साथ स्विच केस (Python 3.10 और Later)

जबसे Python 3.10 (अक्टूबर 2021 में रिलीज़ हुई), Python एक देशी प्रदान करता है मामले मिलाएं यह कथन संरचनात्मक पैटर्न मिलान के रूप में जाना जाता है। यह लंबी elif श्रृंखलाओं और ऊपर दिखाए गए शब्दकोश दृष्टिकोण का एक स्वच्छ, पठनीय विकल्प प्रदान करता है।

def switch_example(argument):
    match argument:
        case 0:
            return "This is Case Zero"
        case 1:
            return "This is Case One"
        case 2:
            return "This is Case Two"
        case _:
            return "nothing"

if __name__ == "__main__":
    print(switch_example(1))

अंडरस्कोर (_) डिफ़ॉल्ट केस के रूप में कार्य करता है, जो पहले के केसों द्वारा हैंडल नहीं किए गए किसी भी मान से मेल खाता है, ठीक उसी तरह जैसे एक पारंपरिक स्विच स्टेटमेंट में डिफ़ॉल्ट होता है।

✅ सुझाव: यदि आप मैच-केस का उपयोग कर रहे हैं तो Python 3.10 या नया संस्करण। पुराने संस्करणों के लिए, शब्दकोश मानचित्र देखें।ping स्विच स्टेटमेंट का अनुकरण करने का यह मानक तरीका बना हुआ है।

if, elif और else: त्वरित तुलना

इस तुलना का उपयोग यह तय करने के लिए करें कि कौन सी सशर्त संरचना आपके निर्णय लेने के तर्क के अनुकूल है।

कथनउद्देश्यकब इस्तेमाल करें
ifकिसी शर्त के सही होने पर एक ब्लॉक को चलाता हैएक ही हां/ना का निर्णय
यदि नहीं तोजब शर्त गलत हो तो एक वैकल्पिक समाधान प्रदान करता है।दो परस्पर अनन्य परिणाम
elifयह अनुक्रम में अतिरिक्त स्थितियों का परीक्षण करता है।तीन या अधिक संभावनाएं
नेस्टेड अगरएक if स्टेटमेंट के अंदर दूसरा if स्टेटमेंट रखता हैएक ऐसा निर्णय जो दूसरी शर्त पर निर्भर करता है
त्रिगुटif-else को एक पंक्ति में संक्षिप्त करता हैसरल मान असाइनमेंट
मामले मिलाएंकई पैटर्नों के विरुद्ध एक मान का मिलान करता हैबहुमार्गी शाखाकरण (Python 3.10+)
⚠ नोट: Python 2 का जीवनकाल 1 जनवरी, 2020 को समाप्त हो गया, और इस लेख में दिए गए सभी उदाहरणों में इसका उपयोग किया गया है। Python 3 वाक्यविन्यास। में Python 2. प्रिंट एक स्टेटमेंट (उदाहरण के लिए, प्रिंट st) था न कि एक फ़ंक्शन, इसलिए उपरोक्त कोड बिना किसी बदलाव के नहीं चलेगा। Python 2.

अक्सर पूछे जाने वाले प्रश्न

एक if स्टेटमेंट किसी निर्णय की शुरुआत करता है और हमेशा उसका मूल्यांकन किया जाता है। एक elif (एल्स-इफ) की जाँच केवल तभी की जाती है जब उससे पहले की if या elif शर्तें गलत हों, जिससे आप एक ही ब्लॉक के चलने के दौरान एक ही श्रृंखला में कई संभावनाओं का परीक्षण कर सकते हैं।

हाँ। जबसे Python 3.10 में, मैच-केस स्टेटमेंट संरचनात्मक पैटर्न मिलान के माध्यम से नेटिव स्विच-शैली शाखाकरण प्रदान करता है। पुराने संस्करणों में, डेवलपर डिक्शनरी मैप का उपयोग करके स्विच का अनुकरण करते हैं।ping get() विधि का उपयोग करके एक डिफ़ॉल्ट मान प्रदान करें।

एक त्रिगुणीय व्यंजक का प्रयोग करें: value_if_true if condition else value_if_false. उदाहरण के लिए, st = “low” if x < 10 else “high” एक पूर्ण if-else ब्लॉक के बिना एक ही पठनीय पंक्ति में मान निर्दिष्ट करता है।

जी हां। एआई कोडिंग सहायक सरल भाषा में दिए गए निर्देशों से इफ-एलिफ-एल्स लॉजिक को उत्पन्न, समझा और त्रुटि-रहित कर सकते हैं। ये सीखने में सहायक होते हैं, लेकिन आपको आउटपुट की समीक्षा करके यह सुनिश्चित करना चाहिए कि शर्तें और इंडेंटेशन आपके इच्छित लॉजिक से मेल खाते हैं।

जी हाँ। सशर्त तर्क कृत्रिम बुद्धिमत्ता का मूलभूत आधार है। निर्णय वृक्ष, नियम-आधारित प्रणालियाँ और डेटा-प्रीप्रोसेसिंग पाइपलाइनें सभी क्रियाएँ चुनने, डेटा को फ़िल्टर करने और मॉडल द्वारा विभिन्न इनपुट को संभालने के तरीके को नियंत्रित करने के लिए if-else ब्रांचिंग पर निर्भर करती हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: