जावा या सी # के विपरीत, पायथन में एक अंतर्निहित स्विच स्टेटमेंट नहीं है। इसका मतलब है कि आप अपना खुद का कोड लिखे बिना स्विच एक्सप्रेशन का मूल्यांकन नहीं कर सकते हैं जो "स्विच ... केस" स्टेटमेंट की नकल करता है।
इस गाइड में, हम चर्चा करते हैं कि पायथन में "स्विच ... केस" कैसे लिखा जाता है, और एक गलत-स्विच स्टेटमेंट के दो उदाहरणों के माध्यम से चलते हैं ताकि आप सीख सकें कि अपने कोड में एक कैसे लिखना है।
स्विच स्टेटमेंट:एक रिफ्रेशर
एक स्विच स्टेटमेंट आपको चलाने के लिए कोड ब्लॉक के एक सेट में से एक का चयन करने देता है। वे एक कार्यक्रम में कई अभिव्यक्तियों का मूल्यांकन करने का एक तरीका हैं।
एक स्विच स्टेटमेंट एक स्विच स्टेटमेंट का मूल्यांकन करके और "केस" स्टेटमेंट में मानों के साथ उस स्टेटमेंट के परिणाम की तुलना करके काम करता है। यदि कोई मिलान पाया जाता है, तो संबंधित कोड का ब्लॉक चलाया जाता है। नहीं तो कुछ नहीं होगा।
वैकल्पिक रूप से, एक "डिफ़ॉल्ट" कीवर्ड का उपयोग कोड के एक ब्लॉक को चलाने के लिए किया जाता है यदि कोई बयान नहीं मिलता है जो किसी विशेष अभिव्यक्ति से मेल खाता है।
पायथन स्विच स्टेटमेंट:व्यक्तिगत मान लौटाना
आइए एक प्रोग्राम लिखें जो एक संख्यात्मक मान को सप्ताह के एक दिन में परिवर्तित करता है।
शुरू करने के लिए, किसी उपयोगकर्ता को एक नंबर डालने के लिए कहें जिसे वे लिखित दिन में बदलना चाहते हैं:
convert_to_day =int(input("सप्ताह का एक दिन डालें:"))
हम उपयोगकर्ता द्वारा हमारे प्रोग्राम में डाले गए मान को एक पूर्णांक में परिवर्तित करते हैं। हम चर्चा करेंगे कि यह बाद में ट्यूटोरियल में क्यों आवश्यक है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
अगला, हम एक शब्दकोश परिभाषित करते हैं। इस शब्दकोश में सप्ताह के सभी दिन होंगे। प्रत्येक कुंजी एक दिन को एक संख्या के रूप में संग्रहीत करेगी और प्रत्येक मान लिखे गए दिन (यानी मंगलवार) को संग्रहीत करेगा:
दिन ={ 1:"सोमवार", 2:"मंगलवार", 3:"बुधवार", 4:"गुरुवार", 5:"शुक्रवार", 6:"शनिवार", 7:"रविवार"}पूर्व>हमारे शब्दकोश में सात कुंजी और मूल्य हैं। कुंजी "1" "सोमवार" का प्रतिनिधित्व करती है और इसी तरह सप्ताह के अंतिम दिन तक।
इसके बाद, हम इस शब्दकोश में आइटम तक पहुंचने के लिए शब्दकोश get() विधि का उपयोग करते हैं जो उपयोगकर्ता द्वारा डाले गए मान से मेल खाता है:
day_as_write =days.get(convert_to_day, "इस संख्यात्मक मान के साथ कोई दिन नहीं है।")प्रिंट(day_as_लिखित)हमने एक उपयोगकर्ता द्वारा हमारे प्रोग्राम में डाले गए मान को एक पूर्णांक में बदल दिया है ताकि हम इसे अपने
get()
में उपयोग कर सकें। बयान। यदि "convert_to_day" स्टोर किए गए मान के बराबर कोई कुंजी नहीं है, तो हमारा कोड "इस संख्यात्मक मान के साथ कोई दिन नहीं है" वापस आ जाएगा।
यदि कोई उपयोगकर्ता "1" मान डालता है, तो हमारा कोड मूल्यांकन करेगा:
<पूर्व>दिन[1]
यह हमारी सूची में कुंजी "1" से जुड़े मान को पुनः प्राप्त करेगा।
आइए अपना कोड चलाएं और देखें कि क्या होता है:
सप्ताह का एक दिन सम्मिलित करें:1सोमवार
हमारा कोड उपयोगकर्ता द्वारा डाली गई संख्या को एक स्ट्रिंग में सफलतापूर्वक रूपांतरित करता है। आइए अपना कोड उस दिन चलाएं जो हमारे शब्दकोश में मौजूद नहीं है:
सप्ताह का एक दिन सम्मिलित करें:8इस संख्यात्मक मान के साथ कोई दिन नहीं है।
हमारा कोड तब भी काम करता है, जब कोई उपयोगकर्ता अमान्य मान डालता है।
पायथन स्विच स्टेटमेंट:कॉलिंग फंक्शन
हम अपने कोड में फ़ंक्शन को कॉल करने के लिए इस सिंटैक्स का उपयोग कर सकते हैं। हम एक ऐसा एप्लिकेशन बनाने जा रहे हैं जो सैंडविच स्टोर पर खरीदारी की सूची के बारे में जानकारी प्रदर्शित करता है।
सबसे पहले, खरीदारी की एक सूची को परिभाषित करते हैं:
खरीदारी =[2.50, 2.50, 2.75, 3.90, 5.60, 2.40]
अगला, तीन कार्यों को परिभाषित करें। ये कार्य गणना करेंगे:
- हमारी सूची में खरीदारी की संख्या
- औसत खरीद मूल्य
- सबसे बड़ी खरीदारी
आइए इन कार्यों को परिभाषित करें:
अब जब हमने इन कार्यों को परिभाषित कर लिया है, तो अपना फॉक्स-स्विच स्टेटमेंट लिखना शुरू करें। जैसा कि हमने अपने पहले उदाहरण में किया है, हम उपयोगकर्ता को एक मान डालने के लिए कहकर शुरू करते हैं। उपयोगकर्ता द्वारा डाला गया मान हमारे कार्यों में से एक के अनुरूप होना चाहिए।
प्रिंट ("[1] आज की गई खरीदारी की संख्या प्रदर्शित करें") प्रिंट ("[2] आज की गई सभी खरीदारी का औसत मूल्य प्रदर्शित करें") प्रिंट ("[3] आज की गई सबसे बड़ी खरीदारी प्रदर्शित करें") to_run =int (इनपुट ("आप क्या करना चाहेंगे?"))
हमारा कोड तीन संदेशों को प्रिंट करता है। प्रत्येक एक उपयोगकर्ता को एक विकल्प के बारे में सूचित करता है जो वे ले सकते हैं। हमारा कोड तब उपयोगकर्ता को एक मान डालने के लिए कहता है। हम इस मान को एक संख्या में बदलते हैं ताकि हम इसे बाद में अपने कार्यक्रम में उपयोग कर सकें।
इसके बाद, एक ऐसे शब्दकोश को परिभाषित करें जो हमारे कार्यों को संख्याओं के साथ मैप करता है:
विकल्प ={ 1:number_of_purchases, 2:औसत_मान, 3:सबसे बड़ा_purchase}
मान "1" को "number_of_purchases" नामक फ़ंक्शन में मैप किया जाता है, मान "2" को "औसत_वैल्यू" फ़ंक्शन में मैप किया जाता है, और मान "3" को "सबसे बड़ा_परचेज़" फ़ंक्शन में मैप किया जाता है।
इसके बाद, get()
का उपयोग करें यह चुनने की विधि कि हमारे प्रोग्राम को कौन सा फ़ंक्शन चलाना चाहिए:
function_to_execute =options.get(to_run)function_to_execute()
यह कोड हमारे शब्दकोश से उस फ़ंक्शन को पुनः प्राप्त करता है जिसे हम निष्पादित करना चाहते हैं। हमने अपने get()
. में दूसरा मान निर्दिष्ट नहीं किया है विधि क्योंकि हमें अपने कोड को काम करने के लिए एक फ़ंक्शन को कॉल करने की आवश्यकता है। इसका मतलब है कि यदि कोई उपयोगकर्ता अमान्य मान डालता है, तो हमारा कोड एक त्रुटि देता है। इस व्यवहार को संभालने के तरीके हैं लेकिन ऐसा करना इस ट्यूटोरियल के दायरे से बाहर है।
आइए अपना कोड चलाएं:
[1] आज की गई खरीदारी की संख्या प्रदर्शित करें[2] आज की गई सभी खरीदारी का औसत मूल्य प्रदर्शित करें[3] आज की गई सबसे बड़ी खरीदारी प्रदर्शित करें आप क्या करना चाहेंगे? 35.6
हमने अपनी सूची से विकल्प 3 का चयन किया है। हमारा कोड किसी विशेष दिन में की गई सबसे बड़ी खरीदारी को सफलतापूर्वक प्रिंट करता है। आइए विकल्प 2 का चयन करने का प्रयास करें:
[1] आज की गई खरीदारी की संख्या प्रदर्शित करें[2] आज की गई सभी खरीदारी का औसत मूल्य प्रदर्शित करें[3] आज की गई सबसे बड़ी खरीदारी प्रदर्शित करें आप क्या करना चाहेंगे? 23.275
हमारा कोड हमारी सूची में खरीदारी का औसत मूल्य लौटाता है।
निष्कर्ष
जबकि पायथन में एक अंतर्निहित स्विच स्टेटमेंट नहीं है, आप एक शब्दकोश और get()
का उपयोग करके एक बना सकते हैं तरीका।
यदि आप एक से अधिक संभावित परिणामों के विरुद्ध व्यंजक का मूल्यांकन करना चाहते हैं तो स्विच स्टेटमेंट उपयोगी होते हैं।
आप एक फ़ॉक्स-स्विच स्टेटमेंट लिख सकते हैं जो आपके द्वारा निर्दिष्ट कुंजी के आधार पर एक शब्दकोश से मूल्यों को पुनः प्राप्त करता है। आप एक फ़ॉक्स-स्विच स्टेटमेंट भी लिख सकते हैं जो आपके द्वारा संदर्भित किसी विशेष कुंजी के आधार पर किसी शब्दकोश से फ़ंक्शन पुनर्प्राप्त करता है।
अब आप एक विशेषज्ञ कोडर की तरह पायथन प्रोग्रामिंग भाषा में अपना स्वयं का स्विच स्टेटमेंट बनाने के लिए तैयार हैं!