Python Loops
Loops repeated work ko automate karte hain. Is chapter me for, while, range(), break, continue, loop else, nested loops, enumerate(), zip() aur practical loop patterns samjhenge.
What is a loop?
A loop repeats a block of code while following a defined iteration rule or condition.
for number in range(1, 4):
print(number)Same print() line ko manually three times likhne ke bajay loop us block ko automatically repeat karta hai.
The for loop
Python for loop an iterable se values one by one leta hai.
courses = ["HTML", "CSS", "Python"]
for course in courses:
print(course)Har iteration me course next item ko reference karta hai.
Loop over a string
Strings iterable hoti hain, so characters one by one iterate kiye ja sakte hain.
for character in "Python":
print(character)Generate number sequences with range()
range() integer sequence represent karta hai and loops me commonly use hota hai.
for number in range(5):
print(number)
for number in range(2, 6):
print(number)
for number in range(2, 11, 2):
print(number)range(stop)— starts at 0.range(start, stop)— stop excluded.range(start, stop, step)— custom step.
range() ka stop value included nahi hota.Count backwards
for number in range(5, 0, -1):
print(number)
print("Go!")Negative step use karte waqt start/stop direction compatible honi chahiye.
The while loop
while tab tak repeat karta hai jab tak condition truthy rahe.
count = 1
while count <= 5:
print(count)
count += 1for vs while
- for: iterable ke items ya known sequence par iterate karna ho.
- while: repetition kisi changing condition par depend kare.
Known collection ke liye manual index-based while ke bajay direct for often clearer hota hai.
Stop early with break
break nearest loop ko immediately exit karta hai.
for number in range(1, 10):
if number == 5:
break
print(number)Output 1 to 4 tak hoga.
Skip an iteration with continue
continue current iteration ka remaining block skip karke next iteration par chala jata hai.
for number in range(1, 7):
if number % 2 == 0:
continue
print(number)Only odd numbers print honge.
pass inside loops
pass no-op placeholder hai; unlike continue, it next iteration par jump nahi karta.
for item in range(3):
pass
print("Loop finished")Loop else
Python loops optional else support karte hain. else tab run hota hai jab loop normal completion kare; break se exit hone par nahi.
target = 7
for number in range(1, 6):
if number == target:
print("Found")
break
else:
print("Not found")Nested loops
Ek loop ke andar another loop ho sakta hai.
for row in range(1, 4):
for column in range(1, 4):
print(row, column)Outer loop ki each iteration ke liye inner loop fully run hota hai. Large nested loops expensive ho sakte hain.
Running totals with an accumulator
total = 0
for number in range(1, 6):
total += number
print(total)Accumulator variable each iteration me updated result store karta hai. Built-in sum() bhi many simple cases me better choice ho sakta hai.
Counting matches
scores = [82, 45, 91, 67, 38]
passed = 0
for score in scores:
if score >= 40:
passed += 1
print("Passed:", passed)Get index and value with enumerate()
enumerate() manual index counter ke bajay readable index + value pairs deta hai.
courses = ["HTML", "CSS", "Python"]
for position, course in enumerate(courses, start=1):
print(position, course)Manual index += 1 se cleaner hota hai jab index actually needed ho.
Loop over multiple iterables with zip()
names = ["Aman", "Riya", "Kabir"]
scores = [82, 91, 74]
for name, score in zip(names, scores):
print(name, score)Default zip() shortest iterable khatam hote hi stop karta hai, so unequal lengths silently ignore extra items kar sakti hain.
Repeated input with while
attempts = 0
while attempts < 3:
answer = input("Type yes: ").strip().lower()
if answer == "yes":
print("Accepted")
break
attempts += 1
else:
print("No attempts left")Infinite loops
while True intentionally useful ho sakta hai when loop explicitly break se terminate hota ho, but accidental infinite loops avoid karo.
while True:
command = input("Command (quit to stop): ").strip().lower()
if command == "quit":
break
print("You typed:", command)Changing a collection while iterating
Same collection ko iterate karte waqt uski structure mutate karna surprising behavior create kar sakta hai.
numbers = [1, 2, 3, 4]
for number in numbers.copy():
if number % 2 == 0:
numbers.remove(number)
print(numbers)Often better approach new collection build karna ya later comprehensions use karna hota hai.
Common beginner mistakes
range()stop value ko included assume karna.whilecondition ki state update bhoolkar infinite loop banana.breakaurcontinueka difference confuse karna.passkocontinuesamajhna.- Unnecessary manual index counters use karna instead of
enumerate(). - Deep nested loops without need.
- Loop ke andar repeated expensive work karna jab outside ho sakta ho.
- Same list ko unsafe way se mutate karte hue iterate karna.
zip()unequal lengths ka behavior ignore karna.- Simple built-ins like
sum()available hone par manual loop overuse karna.
Beginner best practices
- Collection iteration ke liye direct
forprefer karo. - Condition-driven repetition ke liye
whileuse karo. - Clear loop variable names rakho.
- Boundary values and empty iterables test karo.
break/continueko readability improve karne ke liye use karo, control flow hide karne ke liye nahi.- Index required ho to
enumerate()dekho. - Parallel data iterate karna ho to
zip()consider karo. - Loop body ko short aur understandable rakho.
Chapter checklist
forloop se iterable traverse kar sakte ho?range()ke start, stop, step clear hain?whileloop safely write kar sakte ho?break,continue,passka difference clear hai?- Loop
elsekab run hota hai samajh aaya? - Nested loop aur accumulator pattern use kar sakte ho?
enumerate()aurzip()ka purpose clear hai?
Practice Task — Student Marks Analyzer
BrounStack Playground me marks analyzer banao.
- Five marks stdin se read karo.
- Har mark ko
floatme convert karo. - Loop se total calculate karo.
- Average calculate karo.
- Highest aur lowest mark track karo.
- 40 ya usse zyada marks ko pass count karo.
- 40 se kam marks ko fail count karo.
enumerate()use karke Subject 1, Subject 2... labels print karo.- Invalid 0–100 range detect karo.
- At least one
continueyabreakmeaningful way me use karo. - Readable f-string summary print karo.
- Boundary values 0, 40 and 100 test karo.
- Final clean version ko Playground me run karo.