while Loop (Jab Tak Shart Sach, Tab Tak Kaam!)
Condition wala loop: counter, ulti ginti, gullak bharna, digits ginna aur infinite loop se bachaav. 💧🐍
🧭 Is Post Mein
📖 Kahani: Golu, Balti aur Paani ki Tanki

Sunday subah motor kharaab thi. Mummy ne Golu se kaha: “Beta, neeche nal se balti bhar kar chhat ki tanki mein daalte raho, jab tak tanki bhar nahi jaati.”
Golu ne poochha: “Kitni baltiyan, Mummy?” Mummy hansi: “Mujhe kya pata! Har balti ke baad tanki mein jhaank lena. Bhari nahi, toh ek aur. Bhar gayi, toh ruk jaana.”
Priya turant boli: “Arre, yeh toh while loop hai! for loop mein pehle se pata hota hai ki 10 chakkar lagane hain. Par yahan ginti pata hi nahi, bas ek shart pata hai: tanki bhari ya nahi?”
Rohan ne ungliyon par gina: 1, 2, 3 … 7 baltiyan! Aur sochne laga: “Agar Golu tanki mein jhaankna bhool jaata, toh woh shaam tak paani daalta rehta!” 😅 Yahi hai infinite loop ka khatra. Aaj dono baatein seekhenge.
🎯 Is Post Mein Kya Seekhenge
- while loop kya hai aur iska syntax: while shart:
- while loop ke 4 hisse: shuruaat (initialization), shart (condition), kaam (body) aur badlaav (update)
- Ginti (1 se 5), ulti ginti (5 se 1) aur pahada while se
- Jab chakkar pehle se pata na ho: gullak / tanki bharna
- Number ke digits ginna, jodna aur ulta karna (// aur % ke saath)
- Infinite loop kya hai, kyun banta hai aur kaise bachein
- for vs while: kab kaunsa loop chunein
🧱 Basics: Pehle Yeh Aana Chahiye
1. Loop ka matlab: ek kaam ko baar-baar dohraana. (Shuruaat: Loop Kya Hai?, aur for loop: for Loop aur range())
2. Comparison (tulna) operators: < (chhota), > (bada), <= (chhota ya barabar), >= (bada ya barabar), == (barabar hai kya?), != (barabar nahi hai). Inka jawab hamesha True ya False aata hai. Jaise 3 <= 5 → True.
3. Variable badalna: i = i + 1 matlab “i ki purani value mein 1 jodo aur wapas i mein rakh do”.
4. Indentation: while wali line ke baad colon ( : ) aur neeche ki lines 4 space andar. Jitni lines andar, utni loop ki body.
5. Do khaas bhaag: // (floor division) poora bhaagfal deta hai: 4728 // 10 = 472. % (modulus) sheshfal (remainder) deta hai: 4728 % 10 = 8. Yaani // 10 aakhri digit hata deta hai, aur % 10 aakhri digit nikaal deta hai.
💡 Concept: while Loop, Step-by-Step
while loop ek aisa loop hai jo tab tak chalta rehta hai jab tak uski shart (condition) True hai. Jaise hi shart False hui, loop ruk jaata hai aur program aage badh jaata hai.
while shart: # shart True hai? toh andar jao kaam # body: 4 space andar # shart False hote hi yahan aa jaate hain
Step 1: Shuruaat (Initialization)
Loop se pehle ek variable ko shuruaati value do, jaise i = 1. WHY: shart mein jo variable check hoga, uski value pehle se honi chahiye. Warna Python poochhega “i kaun?” aur NameError aayega.
Step 2: Shart (Condition)
while i <= 5: Python har chakkar se pehle yeh sawaal poochhta hai. WHY: shart pehle check hoti hai, isliye agar shuru mein hi shart False ho, toh body ek baar bhi nahi chalti.
Step 3: Kaam (Body)
Indent ki hui lines, jaise print(i). WHY: yahi woh kaam hai jo dohraana hai. Body mein kam se kam ek line honi chahiye.
Step 4: Badlaav (Update)
Body ke andar variable badlo, jaise i = i + 1. WHY: yahi line loop ko aakhir mein rokti hai. i badhta-badhta 6 hoga, tab 6 <= 5 False hoga aur loop khatam. Update bhoole toh i hamesha 1 rahega aur loop kabhi nahi rukega (infinite loop)!
i = 1 # 1. shuruaat while i <= 5: # 2. shart print(i) # 3. kaam i = i + 1 # 4. badlaav print("Loop khatam, ab i =", i)
for aur while: ek hi kaam, do tareeke
# for: ginti pehle se pata (1 se 5) for i in range(1, 6): print(i) # while: shart par chalta hai i = 1 while i <= 5: print(i) i = i + 1
WHY dono? for loop mein shuruaat, shart aur badlaav range() khud sambhaal leta hai. while mein yeh teeno kaam humein khud likhne padte hain. Isliye jab ginti pata ho toh for aasaan hai, aur jab sirf shart pata ho (tanki bhari ya nahi?) toh while sahi hai.
🖼️ Diagrams: Picture se Samjho
🔐 Deep Concept: Infinite Loop aur “Kitne Chakkar?” ka Hisaab
1. Infinite loop (kabhi na rukne wala loop): agar shart kabhi False hi na ho, toh loop hamesha chalta rahega. Teen aam kaaran:
i = 1
while i <= 3:
print(i)
i = i + 1 # ❌ indent nahi: yeh line loop ke BAHAR hai
Yahan i = i + 1 loop ki body mein hai hi nahi. i hamesha 1, shart hamesha True: “1, 1, 1, 1 …” chalta rahega. Doosra kaaran: update ki line likhna hi bhool jaana. Teesra: galat disha mein update, jaise i <= 5 ke saath i = i – 1 (i ghatta jaayega, kabhi 5 se bada nahi hoga).
2. Body kitni baar chalegi? Shart wale loop mein chakkar ginne ka tareeka: shuruaat, aakhri sahi value aur kadam (step) dekho. i = 1 se, i <= 10 tak, +1 se: 10 chakkar. i = 0 se, i < 10 tak, +2 se: i = 0, 2, 4, 6, 8 = 5 chakkar. Aur shart hamesha body se ek baar zyada check hoti hai (aakhri False wala check).
3. Zero chakkar bhi mumkin:
k = 5
while k < 5: # 5 < 5 → False, pehli baar mein hi
print("Hello")
print("Bye")
while “pehle poochho, phir karo” wala loop hai (entry-controlled loop). Shart pehli baar mein False, toh “Hello” ek baar bhi nahi chhapa.
🧪 Examples: Code, Output aur WHY
Example 1: Rocket launch ki ulti ginti
n = 5 # shuruaat: 5 se while n >= 1: # shart: jab tak n 1 ya usse bada print(n) # ginti bolo n = n - 1 # badlaav: 1 ghatao print("Go! 🚀") # loop ke baad, ek baar
WHY: ulti ginti mein update n = n – 1 hai aur shart n >= 1. n = 0 hote hi 0 >= 1 False, loop ruka. Shart aur update ki disha mel khaani chahiye.
Example 2: Even numbers 2 se 10
i = 2 # pehla even number while i <= 10: # 10 tak print(i, end=" ") # ek hi line mein, space ke saath i = i + 2 # 2-2 ka kadam
WHY: update + 2 hai, isliye sirf even numbers. end=” ” se print nayi line ki jagah space lagata hai.
Example 3: 7 ka pahada while se
n = 7 # kis number ka pahada i = 1 # shuruaat while i <= 10: # 10 lines print(n, "x", i, "=", n * i) # ek line i = i + 1 # agli line
WHY: pichle post mein yahi pahada for se bana tha. while mein bas i = 1 aur i = i + 1 humein khud likhne pade. Jawab bilkul same.
Example 4: Golu ki gullak (chakkar pehle se pata nahi)
gullak = 0 # gullak khaali din = 0 # kitne din lage (counter) while gullak < 100: # jab tak 100 rupaye nahi hote gullak = gullak + 15 # roz 15 rupaye daalo din = din + 1 # ek din aur print("Din:", din) print("Gullak mein:", gullak)
WHY: 15, 30, 45, 60, 75, 90 (6 din, abhi bhi 100 se kam), 105 (7th din). 105 < 100 False, loop ruka. Humein pehle se nahi pata tha ki 7 din lagenge; loop ne khud gin liya. Yahi while ki taakat hai!
Example 5: Number ke digits ginna
num = 4728 # jis number ke digits ginne hain ginti = 0 # counter while num > 0: # jab tak digits bache hain num = num // 10 # aakhri digit hatao ginti = ginti + 1 # ek digit gina print("Digits:", ginti)
WHY: 4728 → 472 → 47 → 4 → 0. Chaar baar chheela, toh 4 digits. (Diagram 3 dekho.)
Example 6: Digits ka jod
num = 4728 # number jod = 0 # gullak while num > 0: jod = jod + num % 10 # aakhri digit jodo num = num // 10 # aakhri digit hatao print("Digits ka jod:", jod)
WHY: % 10 aakhri digit deta hai: 8, phir 2, phir 7, phir 4. Jod = 8 + 2 + 7 + 4 = 21 ✔. Pehle digit nikaalo (%), phir hatao (//). Ulta kiya toh aakhri digit chhoot jaayega!
Example 7: Number ulta karna
num = 1234 # number ulta = 0 # naya number 0 se while num > 0: aakhri = num % 10 # aakhri digit: 4, 3, 2, 1 ulta = ulta * 10 + aakhri # purane ko ek jagah khiskao, naya digit lagao num = num // 10 # aakhri digit hatao print("Ulta number:", ulta)
| Chakkar | num (shuru mein) | aakhri | ulta | num (baad mein) |
|---|---|---|---|---|
| 1 | 1234 | 4 | 0 × 10 + 4 = 4 | 123 |
| 2 | 123 | 3 | 4 × 10 + 3 = 43 | 12 |
| 3 | 12 | 2 | 43 × 10 + 2 = 432 | 1 |
| 4 | 1 | 1 | 432 × 10 + 1 = 4321 | 0 |
WHY: ulta × 10 purane digits ko ek jagah baayein khiskaata hai (43 → 430), phir naya digit ikaai (units) ki jagah baithta hai (430 + 2 = 432). Trace table se har chakkar saaf dikhta hai.
⚖️ Difference Table: for Loop vs while Loop
| Baat | for loop | while loop |
|---|---|---|
| Kab chunein | Jab chakkar ki ginti pehle se pata ho | Jab sirf shart pata ho, ginti nahi |
| Kis par chalta hai | Sequence par (range, string, list) | Shart (condition) par |
| Shuruaat aur update | range() khud sambhaalta hai | Humein khud likhna padta hai |
| Infinite loop ka khatra | Bahut kam | Zyada (update bhoole toh) |
| Udaharan | 1 se 10 ka pahada, naam ke akshar | Tanki bharna, digits ginna, sahi password tak poochhna |
| Syntax | for i in range(1, 6): | while i <= 5: |
🚫 Misconceptions (Galat Fehmiyan)
✅ Nahi. Shart pehle check hoti hai; shuru mein hi False ho toh body 0 baar chalti hai.
✅ Nahi! while mein i = i + 1 khud likhna padta hai. Bhoole toh infinite loop.
✅ while i <= 5 wale loop ke baad i = 6 hota hai, kyunki 6 par hi shart False hui.
✅ Nahi, = value daalta hai. Shart mein tulna ke liye == chahiye: while i == 5. Warna SyntaxError.
✅ Nahi, bas program atak jaata hai. Ctrl + C se rok do ya editor band karo. Phir code theek karo.
✅ Shart kuch bhi ho sakti hai jo True/False de, jaise while guess != sahi: ya while paani < 20:.
🔑 Key Terms
❓ FAQs
1. Jab for se kaam ho jaata hai toh while kyun seekhein?
Kyunki har baar ginti pehle se pata nahi hoti. “Sahi password aane tak poochho”, “tanki bharne tak paani daalo”, “number 0 hone tak digit chheelo”: in sab mein sirf shart pata hai. Aise kaam ke liye while bana hai.
2. Kya har for loop ko while mein badal sakte hain?
Haan. Shuruaat loop se pehle likho, shart while mein, aur update body ke aakhir mein. Jaise for i in range(1, 6) = i = 1; while i <= 5: …; i = i + 1.
3. while True: kya hota hai?
Iski shart hamesha True hai, toh yeh jaan-boojh kar banaya gaya infinite loop hai. Ise rokne ke liye andar break lagate hain. break agle post mein seekhenge! Tab tak aap shart wala while hi use karein.
4. User se baar-baar input lene ke liye while kaise use karein?
Computer par Python (IDLE) mein: password = input(“Password: “) phir while password != “charu123”: password = input(“Galat! Phir likho: “). Shart tab tak True rahegi jab tak sahi password na aaye. (AI Tutor ke Practice tab mein input() ki jagah fixed values ya list se practice karein, jaise Hands-on Activity 2.)
5. Ctrl + C kaam na kare toh?
IDLE mein Shell window ke menu se Shell → Restart Shell karo (shortcut Ctrl + F6). Browser editor mein tab band karke dobara kholo. Phir code mein update ki line theek karo.
6. Kya while ke andar if likh sakte hain?
Haan! Jaise digits mein se sirf even digits ginna: while num > 0: ke andar if num % 2 == 0: ginti = ginti + 1. (Try It Yourself ka sawaal 3 dekho.)
🛠️ Hands-on: AI Tutor mein while Loop
Activity 1: Golu ki tanki (har balti 3 litre, tanki 20 litre)
paani = 0 # tanki khaali balti = 0 # kitni baltiyan daali while paani < 20: # jab tak tanki nahi bhari paani = paani + 3 # ek balti = 3 litre balti = balti + 1 # balti gino print("Balti:", balti) print("Tanki mein paani:", paani, "litre")
WHY yeh kaam karta hai: 3, 6, 9, 12, 15, 18 (abhi bhi 20 se kam), 21 (7vi balti). 21 < 20 False, loop ruka. Kahani wali 7 baltiyan yahi hain! (Asli tanki mein 1 litre chhalak jaata 😄)
Activity 2: Number guessing (bina input ke)
guess_list = [30, 70, 45] # Rohan ke andaaze, baari-baari se sahi = 45 # Priya ka socha hua number i = 0 # list ki position guess = guess_list[i] # pehla andaaza while guess != sahi: # jab tak andaaza galat hai print(guess, "galat! Phir try karo.") i = i + 1 # agla andaaza guess = guess_list[i] print(guess, "sahi! Shabaash! 🎉")
WHY: shart != (barabar nahi) hai. 30 aur 70 par shart True, loop chala. 45 par 45 != 45 False, loop ruka. Computer par IDLE mein guess = int(input(“Number: “)) se asli game bana sakte ho.
Activity 3: Jaan-boojh kar galti (bina chalaaye pakdo!)
i = 1
while i <= 3:
print(i)
i = i + 1
⚠️ Ise Run mat karna. Sirf padh kar batao: kya hoga? Jawab: i = i + 1 loop ke bahar hai (indent nahi), toh i hamesha 1, aur “1” baar-baar chhapta rahega (infinite loop). Theek karo: i = i + 1 ke aage 4 space do. Tab output 1, 2, 3 aayega.
🎯 Try It Yourself
- while loop se 10 se 1 tak ulti ginti ek hi line mein chhapo.
- Priya ke paas 500 rupaye hain jo har mahine double hote hain (khel ka hisaab). Kitne mahine mein 2000 ya zyada ho jaayenge?
- 9876 mein kitne even digits hain? (while + if)
Hints / Solutions
# 1 i = 10 while i >= 1: print(i, end=" ") i = i - 1 # Output: 10 9 8 7 6 5 4 3 2 1 # 2 paise = 500 mahina = 0 while paise < 2000: paise = paise * 2 mahina = mahina + 1 print(mahina, paise) # Output: 2 2000 # 3 num = 9876 ginti = 0 while num > 0: if num % 2 == 0: ginti = ginti + 1 num = num // 10 print("Even digits:", ginti) # Output: Even digits: 2
Doosre mein: 500 → 1000 (1 mahina) → 2000 (2 mahine). 2000 < 2000 False, isliye ruka. Teesre mein digits 6, 7, 8, 9 check hue; 6 aur 8 even = 2.
🛡️ Good Habits (Achhi Aadatein)
🧠 Think Like a Programmer
Problem: School cricket match mein Rohan ki team ko jeetne ke liye 20 run chahiye. Har ball ke runs ek list mein hain: 4, 6, 1, 0, 6, 4, 2, 6. Kitni balls mein target poora hua?
runs = [4, 6, 1, 0, 6, 4, 2, 6] # har ball ke runs score = 0 # shuruaat ball = 0 # kitni balls khel li while score < 20: # target tak score = score + runs[ball] # is ball ke runs jodo ball = ball + 1 # agli ball print("Target poora! Balls lagi:", ball) print("Score:", score)
🌍 Real Life mein while Loop
- 🔐 Phone ka lock: jab tak sahi PIN nahi, tab tak “Galat PIN” aur phir poochho.
- 🔋 Charging: jab tak battery 100% nahi, tab tak charge karte raho.
- 🎮 Game: jab tak lives bachi hain (lives > 0), game chalta rahe.
- 💧 Water tank sensor: jab tak paani upar wale nishaan tak nahi, motor chalu.
- 🛒 Dukaan: jab tak line mein grahak hain, billing chalti rahe.
📝 Recap
- while shart: jab tak shart True, body dohraao; False hote hi aage.
- 4 hisse S-S-K-B: Shuruaat (loop se pehle), Shart, Kaam (body), Badlaav (update).
- Shart pehle check hoti hai: shuru mein False ho toh body 0 baar chalti hai.
- while i <= 5 wale loop ke baad i = 6.
- Ginti pata ho → for; sirf shart pata ho → while.
- Digits: % 10 aakhri digit nikaalta hai, // 10 hataata hai.
- Update bhoole, galat indent ya galat disha = infinite loop; rokne ke liye Ctrl + C.
✍️ Fill in the Blanks
- while loop tab tak chalta hai jab tak uski shart ______ hai.
- Kabhi na rukne wale loop ko ______ loop kehte hain.
- i = 1; while i <= 4: … i = i + 1 ke baad i ki value ______ hogi.
- 4728 % 10 ka jawab ______ hai.
- 4728 // 10 ka jawab ______ hai.
- Computer par atka hua Python program rokne ke liye ______ dabate hain.
Answers
1) True · 2) Infinite · 3) 5 · 4) 8 · 5) 472 · 6) Ctrl + C
✅ True / False
- while loop mein shart har chakkar se pehle check hoti hai.
- while loop hamesha kam se kam ek baar chalta hai.
- while loop mein variable apne aap badhta hai.
- Har for loop ko while loop mein likha ja sakta hai.
- while x = 3: sahi syntax hai.
- Jab chakkar ki ginti pehle se na pata ho, tab while loop zyada theek rehta hai.
Answers (kyun ke saath)
1) True: isliye ise entry-controlled loop kehte hain.
2) False: shart shuru mein False ho toh 0 baar.
3) False: update (i = i + 1) khud likhna padta hai.
4) True: shuruaat, shart aur update alag-alag likh kar.
5) False: tulna ke liye == chahiye; = se SyntaxError.
6) True: jaise tanki bharna ya digits ginna.
🔘 MCQs
Q1. i = 1; while i <= 3: print(i); i = i + 1 — kitni lines chhapengi? (a) 2 (b) 3 (c) 4 (d) Infinite
✅ (b) 3: i = 1, 2, 3 par shart True; i = 4 par False.
(a) i = 3 bhi shaamil hai (<=).
(c) i = 4 par shart False, body nahi chalti.
(d) Update hai, toh loop rukega.
Q2. while loop kab rukta hai? (a) 10 chakkar ke baad (b) Jab shart False ho (c) Jab shart True ho (d) Kabhi nahi
✅ (b): shart False hote hi loop khatam.
(a) while mein koi fixed ginti nahi hoti.
(c) True par toh loop chalta hai.
(d) Sahi update ho toh rukta hai.
Q3. Kaunsa code infinite loop banayega? (a) i = 1; while i <= 5: i = i + 1 (b) i = 5; while i > 0: i = i – 1 (c) i = 1; while i <= 5: i = i – 1 (d) i = 10; while i < 5: i = i + 1
✅ (c): i ghatta ja raha hai (0, −1, −2 …), kabhi 5 se bada nahi hoga; shart hamesha True.
(a) i badh kar 6 hoga, loop rukega.
(b) i ghat kar 0 hoga, 0 > 0 False.
(d) 10 < 5 pehli baar mein False, 0 chakkar.
Q4. 365 % 10 aur 365 // 10 ki values kya hain? (a) 5 aur 36 (b) 36 aur 5 (c) 36.5 aur 5 (d) 5 aur 36.5
✅ (a): % sheshfal (5), // poora bhaagfal (36).
(b) Dono ulat diye.
(c) 36.5 toh / (normal bhaag) se aata.
(d) // dashamlav nahi deta.
Q5. n = 3; while n > 0: print(n, end=” “); n = n – 1 — output? (a) 1 2 3 (b) 3 2 1 0 (c) 3 2 1 (d) 3 3 3
✅ (c) 3 2 1: n = 3, 2, 1 par shart True; n = 0 par False.
(a) Yeh badhti ginti hai, yahan n ghat raha hai.
(b) 0 > 0 False hai, 0 nahi chhapega.
(d) Update hai, n badalta hai.
Q6. Kaunsa kaam while loop ke liye sabse sahi hai? (a) 1 se 10 ka pahada (b) Naam ke har akshar ko chhapna (c) Sahi password aane tak poochhte rehna (d) List ke 5 marks jodna
✅ (c): kitni baar poochhna padega, pehle se pata nahi; sirf shart pata hai.
(a) 10 chakkar pata hain: for behtar.
(b) String par for seedha chalta hai.
(d) List par for behtar.
Q7. k = 5; while k < 5: print(“Hi”); k = k + 1 — “Hi” kitni baar? (a) 0 (b) 1 (c) 5 (d) Infinite
✅ (a) 0: 5 < 5 pehli baar mein hi False.
(b) while “pehle poochho” wala loop hai; ek baar bhi zaroori nahi.
(c) Shart kabhi True hui hi nahi.
(d) Loop shuru hi nahi hua.
Q8. while loop ka sahi syntax kaunsa hai? (a) while (i <= 5) (b) while i <= 5: (c) while i <= 5 do: (d) while: i <= 5
✅ (b): while, phir shart, phir colon.
(a) Colon ( : ) gayab hai; SyntaxError.
(c) Python mein “do” nahi likhte.
(d) Shart colon se pehle aati hai.
🧩 Assertion–Reason
(A) A aur R dono sahi, R, A ko samjhata hai · (B) A aur R dono sahi, par R, A ko nahi samjhata · (C) A sahi, R galat · (D) A galat, R sahi
1. A: k = 5; while k < 5: … wala loop ek baar bhi nahi chalta. R: while loop mein shart body se pehle check hoti hai.
✅ (A): dono sahi; shart pehle check hoti hai aur 5 < 5 False hai, isliye body nahi chali.
2. A: while loop mein update ki line bhoolne par infinite loop ban sakta hai. R: Python while loop ko 1000 chakkar ke baad apne aap rok deta hai.
✅ (C): A sahi hai. R galat: Python aisi koi seema nahi lagata; loop tab tak chalta hai jab tak shart True hai ya hum Ctrl + C se na rokein.
3. A: Number ke digits ginne ke liye for loop sabse sahi hai. R: while loop tab use hota hai jab chakkar ki ginti pehle se na pata ho.
✅ (D): A galat hai, kyunki digits kitne hain yeh pehle se nahi pata, isliye while (num > 0) sahi hai. R sahi hai.
⚡ Very Short Answer
1. while loop kise kehte hain?
Woh loop jo apni shart True rehne tak body ko baar-baar chalata hai.
2. Infinite loop kya hai?
Aisa loop jiski shart kabhi False nahi hoti, isliye woh kabhi nahi rukta.
3. 90 // 10 aur 90 % 10 likho.
9 aur 0.
4. while loop ke 4 hisse kaunse hain?
Shuruaat (initialization), shart (condition), kaam (body), badlaav (update).
5. Infinite loop rokne ki shortcut key?
Ctrl + C (computer par IDLE / terminal mein).
📄 Short Answer
1. for aur while loop mein teen fark likho.
(i) for ginti pata hone par, while sirf shart pata hone par. (ii) for sequence (range, string, list) par chalta hai, while shart par. (iii) for mein update range() khud karta hai, while mein humein likhna padta hai, isliye while mein infinite loop ka khatra zyada hai.
2. Infinite loop ke do kaaran udaharan ke saath batao.
(i) Update bhoolna ya galat indent: i = 1; while i <= 3: print(i) (i kabhi nahi badha). (ii) Galat disha: i = 1; while i <= 5: i = i – 1 (i ghat raha hai, shart hamesha True). Bachaav: update body ke andar aur sahi disha mein.
3. 1 se 5 tak ke numbers while loop se chhapne ka program likho.
i = 1 → while i <= 5: → print(i) → i = i + 1. Output: 1, 2, 3, 4, 5 (alag lines mein). Loop ke baad i = 6.
4. Entry-controlled loop kya hai? while ko entry-controlled kyun kehte hain?
Jismein body chalne se pehle shart check hoti hai. while mein shart pehle check hoti hai, aur False ho toh body ek baar bhi nahi chalti, isliye while entry-controlled hai.
📚 Long Answer
1. while loop ke chaaron hisse udaharan ke saath samjhao. Ek hisse ki galti se kya hoga, yeh bhi batao.
Udaharan: n = 5 / while n >= 1: / print(n) / n = n – 1.
(i) Shuruaat: n = 5, loop se pehle; iske bina shart check karte waqt NameError.
(ii) Shart: n >= 1, har chakkar se pehle; True ho toh body chalegi, False ho toh loop khatam.
(iii) Kaam: print(n), jo dohraana hai; output 5, 4, 3, 2, 1.
(iv) Badlaav: n = n – 1; yahi n ko 0 tak le jaakar shart ko False banata hai.
Galti: agar n = n + 1 likh dein (galat disha), toh n badhta jaayega (6, 7, 8 …) aur n >= 1 hamesha True: infinite loop. Isliye shart aur update ki disha milaani zaroori hai.
2. Number 1234 ko ulta (4321) karne ka program likho aur trace table se samjhao.
num = 1234; ulta = 0
while num > 0:
aakhri = num % 10
ulta = ulta * 10 + aakhri
num = num // 10
print(ulta)
Trace: Chakkar 1: aakhri 4, ulta 4, num 123 · Chakkar 2: aakhri 3, ulta 43, num 12 · Chakkar 3: aakhri 2, ulta 432, num 1 · Chakkar 4: aakhri 1, ulta 4321, num 0 · ab 0 > 0 False, loop ruka. Output: 4321.
while isliye kyunki digits ki ginti pehle se pata nahi; shart “num > 0” kaafi hai. % 10 aakhri digit nikaalta hai, ulta * 10 purane digits ko khiskaata hai, aur // 10 aakhri digit hata deta hai.
🔍 Output Batao / Galti Dhoondho
1. Output batao:x = 10
while x > 0:
print(x, end=" ")
x = x - 3
x: 10, 7, 4, 1 (sab > 0). Phir x = −2, shart False.
2. Output batao:s = 0
i = 1
while i <= 4:
s = s + i * i
i = i + 1
print(s)
1 + 4 + 9 + 16 = 30 (1 se 4 tak ke squares ka jod).
3. Output batao:n = 100
c = 0
while n > 1:
n = n // 2
c = c + 1
print(n, c)
n: 100 → 50 → 25 → 12 → 6 → 3 → 1. Chhe baar aadha kiya, toh c = 6; n = 1 par 1 > 1 False.
4. Output batao:k = 5
while k < 5:
print("Hello")
k = k + 1
print("Bye")
5 < 5 False, body 0 baar. Sirf loop ke baad wali line chali.
5. Galti dhoondho: Priya 1 se 5 chhapna chahti hai, par program rukta hi nahi:i = 1
while i <= 5:
print(i)
i = i - 1
Update galat disha mein hai: i = i – 1 se i ghat raha hai (1, 0, −1 …), toh i <= 5 hamesha True. Sahi: i = i + 1. Tab output 1 se 5 aayega aur loop rukega.
🚀 HOTS (Higher Order Thinking)
1. while loop se woh sabse bada number nikaalo jiska square 50 se zyada na ho.
n = 1; while n * n <= 50: n = n + 1; print(n – 1) → 7. Loop tab ruka jab n = 8 (64 > 50), isliye jawab n − 1 = 7 (7 × 7 = 49 ✔). Seekh: loop ke baad variable ek kadam aage hota hai; yeh dhyaan rakhna zaroori hai.
2. Golu kehta hai: “while loop for se behtar hai, toh hamesha while hi use karunga.” Aap kya kahoge?
Dono ki apni jagah hai. Ginti pata ho (pahada, list ke marks) toh for chhota, saaf aur infinite loop ke khatre se door hai. Sirf shart pata ho (tanki, password, digits) toh while. Achha programmer kaam dekh kar loop chunta hai.
3. Bina chalaaye batao: num = 505 ke liye “digits ka jod” wala program kya dega? Aur num = 0 ke liye?
505: digits 5, 0, 5 → jod 10. num = 0: shart 0 > 0 pehli baar mein False, loop chala hi nahi, jod = 0 (jo sahi bhi hai). Par “digits ginna” wala program 0 ke liye 0 digits batayega, jabki 0 mein ek digit hai! Aisi “edge case” ko alag se sambhaalna padta hai.
🏆 Cyber Olympiad Style
1. a = 1; while a < 30: a = a * 3. Aakhir mein a = ? (a) 27 (b) 30 (c) 81 (d) 9
✅ (c) 81: a: 1 → 3 → 9 → 27 → 81. 27 < 30 True tha, isliye ek baar aur guna hua.
(a) 27 ke baad bhi shart True thi.
(b) 30 kabhi bana hi nahi (3 ki ghaat).
(d) 9 < 30, loop aage chala.
2. i = 0; while i < 10: i = i + 4. Loop ke baad i = ? (a) 8 (b) 10 (c) 12 (d) 16
✅ (c) 12: i: 0 → 4 → 8 → 12. 12 < 10 False, ruka.
(a) 8 < 10 True tha, ek chakkar aur.
(b) 4 ke kadam se 10 nahi banta.
(d) 12 par hi ruk gaya.
3. num = 9050 ke liye neeche ka code kya chhapega? c = 0; while num > 0: (if num % 10 == 0: c = c + 1); num = num // 10; print(c) (a) 1 (b) 2 (c) 3 (d) 4
✅ (b) 2: digits 0, 5, 0, 9 check hue; do zero mile.
(a) Dono zero gine jaate hain.
(c) 5 aur 9 zero nahi.
(d) 4 toh kul digits hain, zero nahi.
📚 Aur Padho (External Reference)
- The while statement: python.org Language Reference (English)
- First Steps Towards Programming: python.org Tutorial, pehla while loop
- // aur % operators: python.org Reference
- KeyboardInterrupt: Ctrl + C se program rukna, python.org
💖 CharuMam Motivation
Shaam ko Golu thaka hua par khush tha. Mummy ne poochha: “7 baltiyan! Beech mein chhodne ka mann nahi hua?” Golu bola: “Hua tha, Mummy. Par maine apni shart yaad rakhi: jab tak tanki nahi bharti, rukna nahi.” 💧
Beta, sapne bhi while loop jaise hote hain. Pehle se koi nahi bata sakta ki kitni koshishein lagengi: 7, 70 ya 700. Bas apni shart saaf rakho (“jab tak concept samajh nahi aata”) aur har chakkar mein thoda badlaav laao: thoda aur padho, ek naya sawaal karo. Badlaav ke bina loop wahin ghoomta rehta hai; badlaav ke saath manzil zaroor aati hai! 🌟
— CharuMam
▶️ Is topic ki video dekhein: Game Tumhara Name Kaise Poochta Hai? ⌨️ Python input()
Saare chapters (Computer & AI) · Code chala kar dekhna hai? CharuMam AI Tutor mein 🐍 Python → Practice Karo, aur doubt ke liye 💻 Computer subject chuno! 💬
Yeh content CharuMam ki original rachna hai. Bina permission copy, PDF ya re-upload karna mana hai.
charumam.com ek independent website hai; iska kisi publisher, Google, Adobe ya OpenAI se koi sambandh nahi hai. Products ke naam sirf samjhane ke liye liye gaye hain.
Share karna ho toh link share karein 🙏
“Python” Python Software Foundation ka registered trademark hai. CharuMam Python Software Foundation se affiliated nahi hai.

