📘 CodingMarble Learn

पायथन में नियंत्रण कथन: if-else, while और for

सामान्यतः पायथन पंक्तियाँ एक के बाद एक चलाता है (क्रम)। नियंत्रण कथन यह बहाव बदलते हैं। if-else दो में से एक रास्ता चुनता है; if-elif-else कई में से पहली सच्ची शर्त चुनता है। while शर्त सच रहने तक ब्लॉक दोहराता है; for किसी क्रम, जैसे range(start, stop, step), के हर आइटम के लिए एक बार चलता है।

🎬 कदम-दर-कदम कहानी

  1. if-else दोराहा है: True एक रास्ता, False दूसरा रास्ता।
  2. if-elif-else सीढ़ी है: पहली सच्ची शर्त जीतती है, बाकी छोड़ दी जाती हैं।
  3. while तब तक ब्लॉक दोहराता है जब तक शर्त सच रहे।
  4. for किसी क्रम के हर आइटम पर एक-एक करके जाता है।
  5. range(start, stop, step) संख्याएँ बनाता है; stop शामिल नहीं होता।
  6. आपकी बारी: अंकों का स्लाइडर खिसकाएँ और सीढ़ी को ग्रेड तय करते देखें।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

क्या if और else दोनों ब्लॉक चल सकते हैं?

नहीं। शर्त या तो True है या False, इसलिए ठीक एक चलता है।

अगर दो elif शर्तें True हों तो कौन-सा चलेगा?

ऊपर से केवल पहला True वाला। पायथन उसके नीचे सब छोड़ देता है।

मेरा while लूप रुका क्यों नहीं?

शर्त वाला वेरिएबल लूप के अंदर कभी बदला नहीं, इसलिए शर्त True रही। i += 1 जैसी पंक्ति जोड़ें।

range(1, 6) 5 पर क्यों रुकता है?

range में stop कभी शामिल नहीं होता। stop को "पहली अनचाही संख्या" समझें। इसी से range(n) ठीक n संख्याएँ देता है।

क्या for लूप स्ट्रिंग पर चल सकता है?

हाँ। for ch in "hello" हर अक्षर बारी-बारी लेता है। list, tuple और dictionary पर भी चलता है।

नियंत्रण का बहाव

पंक्तियाँ किस क्रम में चलती हैं, उसे नियंत्रण का बहाव (flow of control) कहते हैं। तीन प्रकार:

हर कथन के अंदर की पंक्तियाँ ब्लॉक बनाती हैं और इंडेंट होनी चाहिए।

if और if-else

if शर्त:
    ब्लॉक A        # True होने पर
else:
    ब्लॉक B        # False होने पर

शर्त कोई भी व्यंजक है जो True या False दे, जैसे m >= 33। दोनों में से केवल एक ब्लॉक चलता है। else ज़रूरी नहीं: अकेला if केवल True होने पर चलता है, वरना कुछ नहीं करता।

n = int(input("संख्या: "))
if n % 2 == 0:
    print("सम")
else:
    print("विषम")

if-elif-else: कई विकल्प

दो से ज़्यादा रास्ते हों तो elif ("else if") लगाएँ। पायथन ऊपर से जाँचता है और पहली True शर्त का ब्लॉक चलाकर बाकी छोड़ देता है।

if m >= 90:
    grade = "A"
elif m >= 75:
    grade = "B"
elif m >= 60:
    grade = "C"
elif m >= 33:
    grade = "D"
else:
    grade = "Retry"

क्रम मायने रखता है। अगर m >= 33 पहले होता, तो 95 अंक वाले को भी D मिलता।

एक if के अंदर दूसरा if नेस्टेड if कहलाता है।

while लूप

i = 1              # 1. शुरुआत
while i <= 5:      # 2. जाँच
    print(i)
    i += 1         # 3. बदलाव

शर्त True रहने तक ब्लॉक दोहराता है। वेरिएबल को पहले शुरू करना और अंदर बदलना ज़रूरी है, वरना लूप कभी ख़त्म नहीं होगा (अनंत लूप)। while तब लगाएँ जब पहले से पता न हो कि कितनी बार दोहराना है, जैसे "पासवर्ड सही होने तक पूछते रहो"।

for लूप और range()

for किसी क्रम (range, स्ट्रिंग, list) का हर आइटम बारी-बारी लेता है।

total = 0
for n in range(1, 6):
    total += n
print(total)      # 15

range(stop): 0 से stop − 1। range(start, stop): start से stop − 1। range(start, stop, step): step की छलाँग; उलटी गिनती के लिए step ऋणात्मक।

for ch in "IP":
    print(ch)     # पहले I फिर P

while बनाम for

for: दोहराने की संख्या पता हो (range या list)। while: किसी शर्त के बदलने तक दोहराना।

अतिरिक्त: break लूप से तुरंत बाहर; continue अगले चक्कर पर।

करके देखें: ट्रेस तालिका

काग़ज़ पर i और आउटपुट कॉलम वाली तालिका बनाएँ। i = 10; while i > 0: print(i); i -= 3 को हाथ से ट्रेस करें। फिर चलाएँ। क्या 10, 7, 4, 1 आया? फिर 3D के कदम 6 में स्लाइडर से सबसे कम अंक ढूँढें जिन पर ग्रेड B मिले।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. संख्या धनात्मक, ऋणात्मक या शून्य है, बताने वाला प्रोग्राम लिखें।

n = int(input()) if n > 0: print("धनात्मक") elif n < 0: print("ऋणात्मक") else: print("शून्य")

2. क्या छपेगा? i = 1 while i < 10: print(i, end=" ") i *= 2

i = 1, 2, 4, 8 सब 10 से कम, फिर i = 16 पर रुकता है। आउटपुट: 1 2 4 8

3. for से पहली 10 प्राकृत संख्याओं का योग निकालें।

s = 0 for n in range(1, 11): s += n print(s) → 55। जाँच: 10 × 11 ÷ 2 = 55।

4. range(15, 2, -4) के मान लिखें।

15 से शुरू, 4 घटाते जाओ, 2 से पहले रुको: 15, 11, 7, 3।

5. 7 का पहाड़ा (7 × 1 से 7 × 10) छापें।

for i in range(1, 11): print(7, "x", i, "=", 7 * i)

6. while लूप से 5 का फ़ैक्टोरियल निकालें।

f = 1; n = 5 while n > 1: f *= n; n -= 1 ट्रेस: f = 5, 20, 60, 120। आउटपुट 120।

7. for k in range(3, 20, 5) का ब्लॉक कितनी बार चलेगा?

k = 3, 8, 13, 18 → 4 बार।

आम गलतियाँ

अभ्यास क्विज़

1. range(2, 8) कितने मान देता है?
2. if-elif-else सीढ़ी में कितने ब्लॉक चलते हैं?
3. जब दोहराने की संख्या पता न हो तो कौन-सा लूप सबसे अच्छा?
4. list(range(10, 0, -3)) है:
5. जिस लूप की शर्त कभी False न हो, वह है:

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

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

पायथन में नियंत्रण कथन क्या हैं?

वे कथन जो ऊपर से नीचे के सामान्य बहाव को बदलते हैं: चयन (if, if-else, if-elif-else) और लूप (while, for)।

while और for में क्या अंतर है?

for पहले से पता क्रम (जैसे range) पर दोहराता है; while शर्त True रहने तक दोहराता है, जब संख्या पता न हो।

range(2, 10, 3) क्या देता है?

2, 5, 8। 2 से शुरू, हर बार 3 जोड़ो, 10 से पहले रुको।

यह कहाँ पढ़ाया जाता है

कनाडा (ओंटारियो)Grade 11A. Programming Concepts and Skills
कनाडा (ओंटारियो)Grade 11A. Programming Concepts and Skills
रोमानियाClasa a X-aProgramming language basics
सीबीएसई (भारत)कक्षा 11संगणनात्मक चिंतन और प्रोग्रामिंग - 1
सीबीएसई (भारत)कक्षा 11पायथन का परिचय
अमेरिकाGrade 10Big Idea 3: Algorithms and Programming
अमेरिकाGrade 11Selection and Iteration
जापान高校1年Computers and programming
दक्षिण कोरिया고등학교 2학년Algorithms and programming
दक्षिण कोरिया고등학교 3학년Programming
रूस11 классAlgorithms and programming

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी सूचना विज्ञान अभ्यास पाठ