Home › Hindi › for loop Hindi में
Python for loop Hindi में — range, enumerate और common galtiyan
🌐 यह page Hindi में है · Read this in English →
Examples + output5 common galtiyan का fixFree browser practice
for loop का मतलब एक line में
Python का for loop "कितनी बार चलाना है" नहीं पूछता — वह कहता है "इस चीज़ के हर item पर यह काम करो"। C या Java वाला for(i=0; i<n; i++) यहाँ है ही नहीं।
fruits = ["aam", "kela", "seb"]
for f in fruits:
print(f)
# output:
# aam
# kela
# seb
दो चीज़ें हमेशा ज़रूरी हैं: पहली line के आखिर में colon :, और अगली lines में indentation (4 spaces)। इन दोनों में से एक भी छूटा तो Python चलने से पहले ही रुक जाएगा।
range() — numbers पर loop चलाना
range() तीन तरह से लिखा जाता है, और तीनों में stop कभी शामिल नहीं होता:
for i in range(5): # 0 1 2 3 4
print(i, end=" ")
for i in range(2, 6): # 2 3 4 5
print(i, end=" ")
for i in range(1, 10, 3): # 1 4 7
print(i, end=" ")
for i in range(5, 0, -1): # 5 4 3 2 1
print(i, end=" ")
सबसे ज़्यादा पूछा जाने वाला सवाल: 1 से 10 तक छापने के लिए range(1, 11) लिखो, range(1, 10) नहीं — वरना 10 छूट जाएगा। यही off-by-one galti है।
List के items और index — दोनों एक साथ चाहिए तो
Beginners अक्सर index के लिए range(len(list)) लिखते हैं। चल जाता है, पर Python का सही तरीका enumerate() है:
students = ["Riya", "Aman", "Sara"]
# ठीक-ठाक तरीका
for i in range(len(students)):
print(i, students[i])
# बेहतर तरीका
for i, naam in enumerate(students):
print(i, naam)
# roll number 1 से शुरू करना हो
for roll, naam in enumerate(students, start=1):
print(roll, naam) # 1 Riya / 2 Aman / 3 Sara
दो lists साथ-साथ चलानी हों तो zip() use करो: for naam, marks in zip(students, scores):
break, continue और for-else
break पूरा loop तोड़ देता है, continue सिर्फ उस एक चक्कर को छोड़ता है:
for n in [1, 2, 3, 4, 5]:
if n == 3:
continue # 3 को skip करो, loop चलता रहे
if n == 5:
break # यहीं पूरा loop बंद
print(n, end=" ")
# output: 1 2 4
for के साथ else भी लग सकता है — और इसका मतलब उल्टा लगता है। else तब चलता है जब loop बिना break के पूरा हुआ:
for n in [2, 4, 6]:
if n % 2 != 0:
print("odd mila")
break
else:
print("सारे even hain") # यही छपेगा
यह interview और board दोनों का favourite सवाल है — याद रखो: else का मतलब "loop टूटा नहीं"।
Nested loop — loop के अंदर loop
for i in range(1, 4):
for j in range(1, 4):
print(i * j, end=" ")
print() # हर row के बाद नई line
# output:
# 1 2 3
# 2 4 6
# 3 6 9
अंदर वाला loop हर बार पूरा चलता है, बाहर वाले के एक चक्कर में। Pattern वाले सवालों (star triangle, table) का पूरा base यही है। print() खाली — यही नई line देता है।
5 galtiyan जो हर beginner करता है
- Colon भूलना:
for i in range(5)→SyntaxError: expected ':' - Indentation न देना:
IndentationError: expected an indented block - range(1, 10) से 10 तक चाहना: stop कभी शामिल नहीं —
range(1, 11)लिखो - Loop के अंदर list बदलना: जिस list पर loop चल रहा है उसमें से items हटाओगे तो कुछ items skip हो जाएँगे। उसकी copy पर loop चलाओ:
for x in L[:]: - Number पर loop चलाना:
for i in 5:→TypeError: 'int' object is not iterable।range(5)लिखो।
छठी बात जो galti नहीं पर जानना ज़रूरी है: loop खत्म होने के बाद भी loop variable ज़िंदा रहता है और उसमें आखिरी value बची रहती है — for i in range(3): pass के बाद print(i) का output 2 है।
🛠️ Practice करो (free, browser में)
पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।
- range में step value — 1 4 7 वाला pattern
- Loop एक कदम ज़्यादा चला — IndexError का कारण
- enumerate में start value — roll number 1 से
- break बनाम continue — दोनों का असली फर्क
- for loop पर else clause — interview का favourite
- for loop में colon गायब — सबसे common SyntaxError
अक्सर पूछे जाने वाले सवाल
Python में for loop 1 से 10 तक कैसे चलाएँ?
range(1, 11) लिखो। range में stop वाला number कभी शामिल नहीं होता, इसलिए 10 तक चाहिए तो 11 लिखना पड़ता है।
for loop में else का क्या काम है?
else वाला block तब चलता है जब loop बिना break के पूरा खत्म हो जाए। अगर बीच में break लगा तो else skip हो जाता है। "कुछ मिला ही नहीं" वाले cases में यह बहुत काम आता है।
for i in 5: क्यों error देता है?
क्योंकि number iterable नहीं होता — उसके अंदर items नहीं हैं। TypeError: 'int' object is not iterable आता है। सही तरीका for i in range(5): है।
enumerate() और range(len()) में कौन सा बेहतर है?
enumerate() बेहतर है — यह index और item दोनों एक साथ देता है, पढ़ने में साफ है और IndexError का खतरा नहीं रहता। start=1 देकर गिनती 1 से भी शुरू कर सकते हो।