while Loop | Class 8 Computer Ch 6 (Loops in Python)

Class 8 · Computer & AIComputer Ch 6 · Loops in PythonPost 4 / 6⏱ 25 min

while Loop (Jab Tak Shart Sach, Tab Tak Kaam!)

Condition wala loop: counter, ulti ginti, gullak bharna, digits ginna aur infinite loop se bachaav. 💧🐍

A · Shuruaat

📖 Kahani: Golu, Balti aur Paani ki Tanki

Chhat par ek ladka balti se paani ki kaali tanki mein paani daal raha hai, paas mein ek ladki aur ek ladka ungliyon par ginti kar rahe hain
Golu balti se tanki bhar raha hai, aur Priya-Rohan baltiyan gin rahe hain. (Image: Canva AI se banayi gayi · © charumam.com)

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.

— 📌 charumam.com

🎯 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
— 📌 charumam.com

🧱 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.

— 📌 charumam.com
B · Samjho

💡 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)
1 2 3 4 5 Loop khatam, ab i = 6
Dhyaan do: loop ke baad i ki value 6 hai, 5 nahi. Kyunki i = 6 hone par hi shart False hui aur loop ruka.

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.

— 📌 charumam.com

🖼️ Diagrams: Picture se Samjho

while loop ka flowchart: pehle shart, phir kaam Shuru: i = 1 Shart:i <= 5 ? True print(i)i = i + 1 wapas shart par False Loop khatam Chakkar: i = 1 ✔, 2 ✔, 3 ✔, 4 ✔, 5 ✔, 6 ✘ (6 <= 5 False) → ruk gaya Shart 6 baar check hui, par body sirf 5 baar chali. © charumam.com
Diagram 1: while loop. Har chakkar se pehle shart check hoti hai; False milte hi loop ruk jaata hai. (Apna banaya chitra · © charumam.com)
while loop ke 4 hisse (yaad rakho: S-S-K-B) i = 1 while i <= 5: print(i) i = i + 1 1. Shuruaat: loop se pehle 2. Shart: har chakkar se pehle 3. Kaam: jo dohraana hai 4. Badlaav: loop ko rokta hai Badlaav bhoole = shart hamesha True = infinite loop ⚠ © charumam.com
Diagram 2: Shuruaat, Shart, Kaam, Badlaav. Ek bhi hissa galat ho toh loop ya toh chalega nahi, ya rukega nahi. (Apna banaya chitra · © charumam.com)
while num > 0: num = num // 10 (digit chheelna) 4728 472 47 4 0 // 10// 10// 10// 10 ginti 1ginti 2ginti 3ginti 4 (8 hata)(2 hata)(7 hata)(4 hata) num = 0 hote hi shart (0 > 0) False → loop ruka. Digits = 4 Hum pehle se nahi jaante the ki kitne chakkar lagenge: isliye while! © charumam.com
Diagram 3: digits ginna. Har chakkar mein // 10 aakhri digit hata deta hai, jab tak number 0 na ho jaaye. (Apna banaya chitra · © charumam.com)
Source: charumam.com

🔐 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).

⚠️ Infinite loop ruk kaise? Computer par IDLE ya terminal mein Ctrl + C dabao: program ruk jaata hai (KeyboardInterrupt). Browser wale editor (jaise AI Tutor) mein infinite loop tab ko atka sakta hai, tab page band karke dobara kholna padega. Isliye Run se pehle update ki line zaroor check karo.

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")
Bye

while “pehle poochho, phir karo” wala loop hai (entry-controlled loop). Shart pehli baar mein False, toh “Hello” ek baar bhi nahi chhapa.

sirf charumam.com readers ke liye 🔐

🧪 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
Output
5 4 3 2 1 Go! 🚀

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
Output
2 4 6 8 10

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
Output
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70

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)
Output
Din: 7 Gullak mein: 105

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)
Output
Digits: 4

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)
Output
Digits ka jod: 21

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)
Output
Ulta number: 4321
Chakkarnum (shuru mein)aakhriultanum (baad mein)
1123440 × 10 + 4 = 4123
212334 × 10 + 3 = 4312
312243 × 10 + 2 = 4321
411432 × 10 + 1 = 43210

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.

📌 charumam.com

⚖️ Difference Table: for Loop vs while Loop

Baatfor loopwhile loop
Kab chuneinJab chakkar ki ginti pehle se pata hoJab sirf shart pata ho, ginti nahi
Kis par chalta haiSequence par (range, string, list)Shart (condition) par
Shuruaat aur updaterange() khud sambhaalta haiHumein khud likhna padta hai
Infinite loop ka khatraBahut kamZyada (update bhoole toh)
Udaharan1 se 10 ka pahada, naam ke aksharTanki bharna, digits ginna, sahi password tak poochhna
Syntaxfor i in range(1, 6):while i <= 5:
— 📌 charumam.com

🚫 Misconceptions (Galat Fehmiyan)

❌ “while loop kam se kam ek baar zaroor chalta hai.”
✅ Nahi. Shart pehle check hoti hai; shuru mein hi False ho toh body 0 baar chalti hai.
❌ “while loop mein i apne aap badh jaata hai, jaise for mein.”
✅ Nahi! while mein i = i + 1 khud likhna padta hai. Bhoole toh infinite loop.
❌ “Loop khatam hone ke baad i ki value aakhri chhapi value hoti hai.”
✅ while i <= 5 wale loop ke baad i = 6 hota hai, kyunki 6 par hi shart False hui.
❌ “while i = 5: likh sakte hain.”
✅ Nahi, = value daalta hai. Shart mein tulna ke liye == chahiye: while i == 5. Warna SyntaxError.
❌ “Infinite loop se computer kharaab ho jaata hai.”
✅ Nahi, bas program atak jaata hai. Ctrl + C se rok do ya editor band karo. Phir code theek karo.
❌ “while sirf numbers ke saath chalta hai.”
✅ Shart kuch bhi ho sakti hai jo True/False de, jaise while guess != sahi: ya while paani < 20:.
— 📌 charumam.com

🔑 Key Terms

while loop: shart True rehne tak body ko dohraane wala loop
Condition (shart): True ya False jawab dene wala sawaal, jaise i <= 5
Initialization: loop se pehle variable ko shuruaati value dena
Update: body mein variable badalna, taaki shart aakhir mein False ho
Loop body: while ke neeche indent ki hui lines
Infinite loop: kabhi na rukne wala loop (shart hamesha True)
Entry-controlled loop: jismein shart pehle check hoti hai (for aur while dono)
Counter: chakkar ya cheezein ginne wala variable
// (floor division): poora bhaagfal; 47 // 10 = 4
% (modulus): sheshfal (remainder); 47 % 10 = 7
Trace table: har chakkar mein variables ki value likhne wali table
KeyboardInterrupt: Ctrl + C dabaane par program rukne ka sandesh
— 📌 charumam.com

❓ 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.)

— 📌 charumam.com
C · Karke Dekho

🛠️ Hands-on: AI Tutor mein while Loop

Browser mein tutor.charumam.com kholo.
🐍 Python section chuno, phir Practice Karo tab par click karo.
Neeche ka code khud type karo. while wali line ke baad Enter, phir Tab (4 space) dabao.
⚠️ Run se pehle check: kya body mein update ki line (jaise paani = paani + 3) hai aur indent sahi hai?
Run button dabao ya Ctrl + Enter. Phir numbers badal kar dobara chalao.

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")
Output
Balti: 7 Tanki mein paani: 21 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! 🎉")
Output
30 galat! Phir try karo. 70 galat! Phir try karo. 45 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.

— 📌 charumam.com

🎯 Try It Yourself

  1. while loop se 10 se 1 tak ulti ginti ek hi line mein chhapo.
  2. Priya ke paas 500 rupaye hain jo har mahine double hote hain (khel ka hisaab). Kitne mahine mein 2000 ya zyada ho jaayenge?
  3. 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.

— 📌 charumam.com

🛡️ Good Habits (Achhi Aadatein)

✅ S-S-K-B checklist: Shuruaat, Shart, Kaam, Badlaav: Run se pehle chaaron dhoondho.
✅ Disha milao: shart <= ho toh value badhni chahiye; shart >= ho toh ghatni chahiye.
✅ Indent check: update ki line body ke andar (4 space) honi chahiye.
✅ Pehle chhota test: shart mein chhota number (jaise 3) rakh kar chalao, kaagaz par trace table banao, phir bada karo.
✅ Ctrl + C yaad rakho: computer par atka program rokne ke liye. Ghabraao mat!
— 📌 charumam.com

🧠 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?

Samjho: balls ki ginti pehle se nahi pata; shart pata hai: “score 20 se kam hai?” → while.
Steps: score = 0, ball = 0 → jab tak score < 20: is ball ke runs jodo, ball ginti badhao → loop ke baad jawab chhapo.
Code:
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)
Target poora! Balls lagi: 6 Score: 21
Test: 4, 10, 11, 11, 17, 21 → 6vi ball par 21 ≥ 20 ✔.
Fix (agar galti ho): agar ball = ball + 1 bhool gaye, toh har baar runs[0] = 4 hi judta: 4, 8, 12, 16, 20 par ruk jaata aur jawab galat (ball = 0) aata. Aur agar list ke saare runs jod kar bhi 20 na bane, toh runs[ball] par IndexError aayega; aisi halat ka dhyaan agle posts mein rakhna seekhenge.
— 📌 charumam.com

🌍 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.
— 📌 charumam.com
D · Revise

📝 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.
— charumam.com 🎯
E · Practice

✍️ Fill in the Blanks

  1. while loop tab tak chalta hai jab tak uski shart ______ hai.
  2. Kabhi na rukne wale loop ko ______ loop kehte hain.
  3. i = 1; while i <= 4: … i = i + 1 ke baad i ki value ______ hogi.
  4. 4728 % 10 ka jawab ______ hai.
  5. 4728 // 10 ka jawab ______ hai.
  6. 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

  1. while loop mein shart har chakkar se pehle check hoti hai.
  2. while loop hamesha kam se kam ek baar chalta hai.
  3. while loop mein variable apne aap badhta hai.
  4. Har for loop ko while loop mein likha ja sakta hai.
  5. while x = 3: sahi syntax hai.
  6. 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
10 7 4 1

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)
30

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)
1 6

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")
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.

F · Aage

📚 Aur Padho (External Reference)

— 📌 charumam.com

💖 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

Saare chapters (Computer & AI) · Code chala kar dekhna hai? CharuMam AI Tutor mein 🐍 Python → Practice Karo, aur doubt ke liye 💻 Computer subject chuno! 💬

© 2026 charumam.com | Class 8 Computer — Ch 6, Post 4
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.

Scroll to Top
🎓 AI Tutor