💻
⌨️
🖱️
🖥️
💾
← डैशबोर्ड पर वापस जाएँ
Font Size:

1. परिचय

प्रोग्राम में निर्देश सामान्यतः ऊपर से नीचे क्रम से चलते हैं, परंतु कई बार हमें शर्तों के अनुसार निर्णय लेने की आवश्यकता होती है। इसके लिए पाइथन में कंट्रोल स्ट्रक्चर (Control Structures) का उपयोग होता है। ये प्रोग्राम के निष्पादन की दिशा निर्धारित करते हैं। मुख्य कंट्रोल स्ट्रक्चर निम्नलिखित हैं:

  1. अनुक्रमिक (Sequential): कथन ऊपर से नीचे क्रम में चलते हैं।
  2. निर्णयात्मक (Conditional): if-else द्वारा शर्त के आधार पर निर्णय।
  3. चक्रीय (Iterative): for/while लूप द्वारा बार-बार निष्पादन।

इस अध्याय में हम निर्णयात्मक कंट्रोल स्ट्रक्चर - if, if-else, if-elif-else और नेस्टेड if का विस्तार से अध्ययन करेंगे। साथ ही तुलनात्मक और तार्किक ऑपरेटरों को भी सीखेंगे।

2. तुलनात्मक ऑपरेटर (Comparison Operators)

शर्तों में तुलना करने के लिए तुलनात्मक ऑपरेटरों का उपयोग होता है:

ऑपरेटर अर्थ उदाहरण
== बराबर 5 == 5 (True)
!= बराबर नहीं 5 != 3 (True)
> बड़ा 7 > 3 (True)
< छोटा 7 < 3 (False)
>= बड़ा या बराबर 7 >= 7 (True)
<= छोटा या बराबर 5 <= 6 (True)

3. तार्किक ऑपरेटर (Logical Operators)

कई शर्तों को जोड़ने के लिए तार्किक ऑपरेटरों का उपयोग होता है:

  1. and: दोनों शर्तें सत्य हों तो True। (5 > 3 and 8 > 4) = True
  2. or: कोई एक शर्त सत्य हो तो True। (5 > 3 or 8 < 4) = True
  3. not: शर्त के परिणाम को उल्टा करता है। not(5 > 3) = False

4. if कथन (if Statement)

if कथन किसी शर्त की जाँच करता है। यदि शर्त सत्य (True) हो, तो उसके अंदर का कोड चलता है; यदि असत्य (False) हो, तो कोड छोड़ दिया जाता है।

उम्र = 15
if उम्र >= 13:
    print("आप किशोर हैं")

यहाँ यदि उम्र 13 से बड़ी या बराबर है, तो 'आप किशोर हैं' प्रिंट होगा। ध्यान दें कि if के अंदर का कोड इंडेंटेशन (स्पेस) से लिखा जाता है।

5. if-else कथन (if-else Statement)

if-else में शर्त सत्य होने पर एक कोड और असत्य होने पर दूसरा कोड चलता है।

अंक = 45
if अंक >= 33:
    print("उत्तीर्ण")
else:
    print("अनुत्तीर्ण")

यहाँ अंक 33 से अधिक होने पर 'उत्तीर्ण' नहीं तो 'अनुत्तीर्ण' प्रिंट होगा।

6. if-elif-else कथन (if-elif-else Statement)

जब एक से अधिक शर्तें हों, तो if-elif-else का उपयोग होता है। elif का अर्थ 'else if' है।

अंक = 85
if अंक >= 90:
    print("ग्रेड A")
elif अंक >= 75:
    print("ग्रेड B")
elif अंक >= 60:
    print("ग्रेड C")
else:
    print("ग्रेड D")

यहाँ अंक 85 है, इसलिए पहली शर्त (>=90) असत्य है, दूसरी शर्त (>=75) सत्य है, इसलिए 'ग्रेड B' प्रिंट होगा।

7. नेस्टेड if (Nested if)

जब किसी if के अंदर कोई और if लगाया जाता है, तो उसे नेस्टेड if कहते हैं। यह तब उपयोगी है जब एक शर्त के सत्य होने के बाद दूसरी शर्त जाँचनी हो।

संख्या = 10
if संख्या > 0:
    if संख्या % 2 == 0:
        print("धनात्मक सम संख्या")
    else:
        print("धनात्मक विषम संख्या")

8. इंडेंटेशन का महत्व (Importance of Indentation)

पाइथन में if, else आदि के अंदर का कोड इंडेंटेशन (बायें से समान स्पेस) से लिखा जाता है। इंडेंटेशन न होने पर IndentationError आती है। यह पाइथन की सबसे विशिष्ट विशेषता है, क्योंकि अन्य भाषाओं में कोड को कर्ली ब्रेसेस { } से व्यवस्थित किया जाता है।

9. शर्तों के व्यावहारिक उदाहरण (Practical Examples)

कंट्रोल स्ट्रक्चर को वास्तविक जीवन की समस्याओं पर लागू करने से इसकी समझ मजबूत होती है। आइए कुछ उदाहरण देखें:

उदाहरण 1: संख्या धनात्मक, ऋणात्मक या शून्य

संख्या = int(input("संख्या दर्ज करें: "))
if संख्या > 0:
    print("धनात्मक संख्या")
elif संख्या < 0:
    print("ऋणात्मक संख्या")
else:
    print("शून्य")

इस कोड में उपयोगकर्ता द्वारा दर्ज संख्या का परीक्षण करके उसकी प्रकृति बताई जाती है। यदि संख्या शून्य से बड़ी है, तो 'धनात्मक', छोटी है तो 'ऋणात्मक' और बराबर है तो 'शून्य' प्रिंट होगा।

उदाहरण 2: बड़ी संख्या ज्ञात करना

a = 5
b = 8
if a > b:
    print("a बड़ा है")
else:
    print("b बड़ा है")

यहाँ 8, 5 से बड़ा है, इसलिए 'b बड़ा है' प्रिंट होगा।

उदाहरण 3: उत्तीर्णता की जाँच

अंक = int(input("अंक दर्ज करें: "))
if अंक >= 33:
    print("उत्तीर्ण")
else:
    print("अनुत्तीर्ण")

इन उदाहरणों से स्पष्ट है कि if-else के माध्यम से हम प्रोग्राम में निर्णय ले सकते हैं। शर्त में तुलनात्मक ऑपरेटर (>, <, >=, <=, ==, !=) और तार्किक ऑपरेटर (and, or, not) दोनों का उपयोग होता है। जटिल समस्याओं के समाधान में कभी-कभी कई शर्तों को and या or से जोड़ा जाता है। उदाहरण के लिए, यदि किसी प्रतियोगिता में प्रवेश के लिए न्यूनतम अंक और न्यूनतम आयु दोनों आवश्यक हों, तो शर्त इस प्रकार लिखी जा सकती है:

if अंक >= 60 and उम्र >= 12:
    print("प्रवेश स्वीकृत")
else:
    print("प्रवेश अस्वीकृत")

इस प्रकार, and ऑपरेटर दोनों शर्तों को एक साथ जाँचने में सहायक है। यदि दोनों में से कोई एक शर्त भी असत्य हो, तो else का कोड चलेगा। शर्तों के इसी व्यवस्थित उपयोग से प्रोग्राम वास्तविक समस्याओं का सही समाधान कर पाते हैं।

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

त्वरित पुनरावृत्ति तालिकाएँ

तालिका 1: तुलनात्मक ऑपरेटर

ऑपरेटर अर्थ उदाहरण परिणाम
== बराबर 5 == 5 (True)
!= असमान 5 != 3 (True)
> बड़ा 7 > 3 (True)
< छोटा 7 < 3 (False)
>= बड़ा या बराबर 7 >= 7 (True)
<= छोटा या बराबर 5 <= 6 (True)

तालिका 2: तार्किक ऑपरेटर

ऑपरेटर नियम उदाहरण
and दोनों सत्य True and True = True
or कोई एक सत्य True or False = True
not परिणाम उल्टा not True = False

तालिका 3: कंट्रोल स्ट्रक्चर

स्ट्रक्चर उपयोग
if एक शर्त
if-else दो विकल्प
if-elif-else कई शर्तें
नेस्टेड if if के अंदर if

माइंड मैप

graph TD A["कंट्रोल स्ट्रक्चर"] --> B["if"] A --> C["if-else"] A --> D["if-elif-else"] A --> E["नेस्टेड if"] B --> F["शर्त सत्य: कोड चलता है"] C --> G["सत्य: एक कोड, असत्य: दूसरा"] D --> H["कई शर्तें क्रम से"] E --> I["if के अंदर if"] F --> J["ऑपरेटर: ==, >, <, >=, <=, !="] G --> K["इंडेंटेशन अनिवार्य"]

महत्वपूर्ण आरेख (SVG)

if-else निर्णय प्रवाह अंक = 45 if अंक >= 33 शर्त जाँच True False उत्तीर्ण print(\"उत्तीर्ण\") अनुत्तीर्ण print(\"अनुत्तीर्ण\") स्वर्ण नियम: 45 >= 33 सत्य है, इसलिए 'उत्तीर्ण' प्रिंट होगा
if-elif-else निर्णय प्रवाह अंक = 85 if >= 90? असत्य elif >= 75? सत्य elif >= 60? ग्रेड B print(\"ग्रेड B\") स्वर्ण नियम: पहली सत्य शर्त का ही कोड चलता है

सामान्य गलतियाँ

  1. == की जगह = लिखना: तुलना के लिए == (दो बराबर) चिह्न प्रयोग होता है, जबकि = मान निर्दिष्ट करने के लिए।
  2. if के बाद कोलन (:) भूलना: if, elif, else के बाद कोलन लगाना अनिवार्य है।
  3. इंडेंटेशन की अनदेखी: if के अंदर के कोड को समान स्पेस से इंडेंट करना आवश्यक है; नहीं तो IndentationError आती है।
  4. if-elif-else में if को दोहराना: कई शर्तों के लिए elif का उपयोग करें, हर शर्त के लिए if नहीं।
  5. else के साथ शर्त लिखना: else के साथ शर्त नहीं लिखी जाती, वह शेष सभी स्थितियों के लिए होता है।
  6. तार्किक ऑपरेटरों का गलत प्रयोग: and में दोनों शर्तें सत्य होनी चाहिए, or में कोई एक।
  7. बूलियन मानों को छोटे अक्षरों में लिखना: True/False बड़े अक्षरों से लिखे जाते हैं।

परीक्षा युक्तियाँ

  1. if, if-else, if-elif-else और नेस्टेड if का सिंटैक्स उदाहरण सहित लिखना सीखें।
  2. तुलनात्मक ऑपरेटरों (==, !=, >, <, >=, <=) का अर्थ और परिणाम याद रखें।
  3. दिए गए कोड का आउटपुट ज्ञात करने वाले प्रश्नों के लिए शर्तों का क्रम से मूल्यांकन करें।
  4. and, or, not के सत्य-तालिका (Truth Table) के नियम रटें।
  5. इंडेंटेशन का महत्व और उससे संबंधित त्रुटि (IndentationError) लिखना सीखें।
  6. शर्त के साथ कोलन (:) और समान इंडेंटेशन का ध्यान रखें, यह अंक देने का आधार है।
  7. बड़ी संख्या के अंकों की तुलना (जैसे अंक >= 90) वाले कोड को बदलकर आउटपुट निकालने का अभ्यास करें।

निष्कर्ष

कंट्रोल स्ट्रक्चर प्रोग्राम को निर्णय लेने की शक्ति देते हैं। if कथन एक शर्त, if-else दो विकल्प, और if-elif-else अनेक शर्तों के लिए उपयोगी है। नेस्टेड if जटिल शर्तों को संभालता है। तुलनात्मक (==, >, <) और तार्किक (and, or, not) ऑपरेटर शर्तों को सशक्त बनाते हैं। पाइथन में इंडेंटेशन कोड ब्लॉकों की पहचान का आधार है, इसलिए इसकी अनदेखी त्रुटि का कारण बनती है। इस अध्याय का ज्ञान विद्यार्थियों को वास्तविक समस्याओं (ग्रेड निर्धारण, परीक्षा परिणाम, संख्या की जाँच) के समाधान के प्रोग्राम लिखने में सक्षम बनाता है। आगे के अध्याय में हम लूप्स और फंक्शन का अध्ययन करेंगे, जो प्रोग्रामिंग को और अधिक शक्तिशाली बनाते हैं।