(पायथन) सशर्त बयान


नियंत्रण संरचनाएं

क्या आप शक्तिशाली, "बुद्धिमान", बहुमुखी और उपयोगी प्रोग्राम बनाना सीखना चाहते हैं?

फिर आपको प्रोग्राम एक्जीक्यूशन कंट्रोल के तीन मुख्य रूपों को सीखने की जरूरत है। कंप्यूटर सिस्टम के सिद्धांत के अनुसार, एक अच्छी प्रोग्रामिंग भाषा को कार्यक्रमों के निष्पादन पर नियंत्रण के तीन रूपों का कार्यान्वयन प्रदान करना चाहिए।

1 - अनुक्रम:  अनुक्रमिक कथनों का निष्पादन - हम इससे पहले के पाठ्यक्रमों में पहले ही मिल चुके हैं। हमारे सभी पिछले कार्यक्रम बयानों के कुछ अनुक्रम हैं।

2 - चुनें: <पूर्व>     अगर ऐसा और ऐसा मामला है,               तो इसे करें      अन्यथा ऐसा करें। 3 - दोहराएं: <पूर्व> UNTIL (जब तक ऐसे और ऐसे मामले - इसे करें)।
दूसरा रूप - काम करने के विभिन्न तरीकों के बीच पसंद कार्यक्रमों को अधिक "बुद्धिमान" बनाता है और कंप्यूटरों को अत्यधिक कुशल भी बनाता है।

आइए एक साधारण उदाहरण से शुरू करते हैं। 
आपको कीबोर्ड से दो वास्तविक संख्याएं दर्ज करनी होंगी और उनमें से सबसे बड़ी संख्या निर्धारित करनी होगी।
इस उदाहरण का अन्वेषण करें।

सशर्त विवरण (यदि)

दो की अधिकतम संख्या खोजने की समस्या में, हम एक नए ऑपरेटर से मिले जो if.  शब्द से शुरू होता था, इस ऑपरेटर को CONDITIONAL ऑपरेटर कहा जाता है।

शब्द if का अंग्रेजी से "if" के रूप में अनुवाद किया गया है, और शब्द else - "अन्यथा" के रूप में। यदि if शब्द के बाद की स्थिति सत्य (true) है, तो एक नई लाइन पर कोलन के बाद और else शब्द से पहले स्थित सभी कमांड (ऑपरेटर) निष्पादित किए जाते हैं। यदि स्थिति झूठी (झूठी) है, तो शब्द else: के बाद कमांड निष्पादित होते हैं। 
निष्पादित होते हैं
अन्य प्रोग्रामिंग भाषाओं के विपरीत, इंडेंटेशन (शिफ्ट्स) बायीं सीमा से संबंधित बयान पायथन में महत्वपूर्ण हैं। इंडेंटेशन कार्यक्रम के प्रदर्शन को प्रभावित करता है। यदि आप बारीकी से देखते हैं, तो शब्द if  और else शब्द एक ही स्तर पर शुरू होते हैं, और जो आदेश निष्पादित होते हैं वे स्थानांतरित हो जाते हैं इस स्तर के दाईं ओर समान दूरी (4 रिक्त स्थान का उपयोग करने की अनुशंसा)।
 
सशर्त विवरण का सामान्य दृश्य:
if condition: # शर्त के साथ शीर्षक
    # "अगर" ब्लॉक — कथन जो क्रियान्वित किए जाते हैं
    # अगर हेडर में कंडीशन सही है
और:
    # ब्लॉक "अन्यथा" — कथन जो क्रियान्वित किए जाते हैं
    # अगर हेडर में कंडीशन गलत है

आपको याद रखना होगा!
1. if-else -  एक कथन है!
2. else शब्द के बाद, कंडीशन कभी सेट नहीं होती है (शर्त if शब्द के बाद ही सेट होती है)।
     ब्लॉक करें "अन्यथा" शब्द if   के बाद निर्दिष्ट मुख्य शर्त गलत होने पर निष्पादित किया जाता है, अर्थात। निष्पादित नहीं किया गया।
3. प्रत्येक शाखा में निष्पादित किए जाने वाले बयान (<कोड> if या else) 4 रिक्त स्थान के समान इंडेंटेशन के साथ लिखे गए हैं। इंडेंटेशन आवश्यक! 
4. शर्त एक अभिव्यक्ति है जिसे सत्य (यानी, मिले) या गलत (यानी, मिले नहीं) कहा जा सकता है।
स्थिति तार्किक संबंधों के संकेतों का उपयोग करती है
  > , <                 अधिक, कम,
  >=, <=              इससे बड़ा या बराबर, इससे कम या बराबर,
  ==                     बराबर है,
  <कोड>!=                     सम नही।

अपूर्ण सशर्त विवरण

यदि "अन्यथा" ब्लॉक में आपको कुछ भी करने की ज़रूरत नहीं है (उदाहरण के लिए: "यदि बिक्री पर आइसक्रीम है, तो आइसक्रीम खरीदें", और यदि नहीं ...), तो संपूर्ण "अन्यथा" ब्लॉक आप सशर्त ऑपरेटर के संक्षिप्त (अधूरे) रूप को छोड़ सकते हैं और उसका उपयोग कर सकते हैं: <पूर्व> अगर हालत: ... # यदि शर्त सही है तो क्या करें अधिकतम दो मानों को चुनने का ऑपरेशन बहुत बार उपयोग किया जाता है, इसलिए पायथन में एक अंतर्निहित फ़ंक्शन <कोड>अधिकतम है जिसे इस तरह से कॉल किया जा सकता है <पूर्व> एम = मैक्स (ए, बी) दो या दो से अधिक मानों का न्यूनतम मान ज्ञात करने के लिए एक समान कार्य भी है - min(). 

पायथन में दो मानों में से चुनने पर, आप कंडीशनल ऑपरेटर के दूसरे रूप का उपयोग कर सकते हैं, जो कंडीशनल ऑपरेटर के पूर्ण रूप की तरह काम करता है। <पूर्व> एम = एक अगर एक > बी और बी यदि आपको एक से अधिक  यदि शर्त पूरी हो जाती है, तो सभी क्रियाएं एक दूसरे के नीचे एक ही शिफ्ट स्तर पर लिखी जाती हैं: <पूर्व> अगर एक > बी:   अस्थायी = ए   ए = बी   बी = अस्थायी इस प्रोग्राम में अगर \(a>b\) है, तो हम वेरिएबल्स की वैल्यू को स्वैप करते हैं। temp वेरिएबल एक सहायक है।
तीनों ऑपरेटरों के बाएं किनारे से समान बदलाव पर ध्यान दें। यह संकलक को बताता है कि सभी तीन कथनों को निष्पादित किया गया है बशर्ते कि a>b.
पायथन भाषा की एक और सूक्ष्मता   एकाधिक असाइनमेंट ऑपरेटर, जो दो चर के आदान-प्रदान की सुविधा प्रदान करता है। इसे इस प्रकार लिखा जा सकता है: <पूर्व> ए, बी = बी, ए