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 करता है

छठी बात जो galti नहीं पर जानना ज़रूरी है: loop खत्म होने के बाद भी loop variable ज़िंदा रहता है और उसमें आखिरी value बची रहती है — for i in range(3): pass के बाद print(i) का output 2 है।

🛠️ Practice करो (free, browser में)

पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।

सारे free problems देखो →

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

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 से भी शुरू कर सकते हो।

आगे पढ़ो