Home › Hindi › Output prediction questions

Python output prediction questions Hindi में — 10 सवाल, पूरे answers के साथ

🌐 यह page Hindi में है · Read this in English →

10 सवाल + explanationExam और interview दोनों के लिए55 free practice questions

Output prediction क्यों ज़रूरी है

College exams, campus placements और interview की पहली screening — तीनों में एक ही सवाल सबसे ज़्यादा आता है: "इस code का output क्या होगा?" इसका जवाब देने के लिए code लिखना नहीं आना चाहिए, code पढ़ना आना चाहिए।

सही तरीका: हर सवाल पर पहले कागज़ पर जवाब लिखो, फिर answer खोलो। सीधे answer पढ़ लेने से कुछ याद नहीं रहता — जो galti आप खुद करते हो, वही सबसे पक्की याद रहती है।

Q1–Q3: List और slicing

# Q1
nums = [1, 2, 3, 4, 5]
print(nums[1:4])

# Q2
nums = [1, 2, 3]
print(nums * 2)

# Q3
a = [1, 2, 3]
b = a
b.append(4)
print(a)

A1 → [2, 3, 4] · Slicing में शुरू वाला index शामिल होता है, आखिरी नहीं। [1:4] = index 1, 2, 3 — index 4 छूट जाता है। यही सबसे ज़्यादा पूछा जाने वाला rule है।

A2 → [1, 2, 3, 1, 2, 3] · List पर * उसे दोहराता है, हर item को multiply नहीं करता। हर item को 2 से गुणा करना हो तो [n * 2 for n in nums]।

A3 → [1, 2, 3, 4] · b = a copy नहीं बनाता, दोनों नाम एक ही list की तरफ इशारा करते हैं। असली copy चाहिए तो b = a.copy() या b = a[:]।

Q4–Q6: Loops और variables

# Q4
for i in range(1, 10, 3):
    print(i, end=" ")

# Q5
for i in range(3):
    pass
print(i)

# Q6
for i in range(5):
    if i == 3:
        break
else:
    print("Loop poora hua")
print("End")

A4 → 1 4 7 · range(start, stop, step) — 1 से शुरू, 3-3 की छलांग, और 10 कभी शामिल नहीं होता। 10 तक पहुँचने से पहले 7 आखिरी है।

A5 → 2 · Python में loop variable loop खत्म होने के बाद भी ज़िंदा रहता है और उसमें आखिरी value पड़ी रहती है। (अगर list खाली हो तो वह बनता ही नहीं — तब NameError आता है।)

A6 → सिर्फ End · for...else में else तभी चलता है जब loop बिना break के पूरा हो। यहाँ break लगा, इसलिए else skip हो गया। यह interview का favourite सवाल है।

Q7–Q8: Strings और numbers

# Q7
s = "Python"
print(s[-2:])
print(s[::-1])

# Q8
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(0.1 + 0.2 == 0.3)

A7 → on और nohtyP · [-2:] यानी आखिरी दो characters। [::-1] पूरे string को उल्टा कर देता है — reverse करने का सबसे छोटा तरीका।

A8 → 3.3333333333333335, 3, 1, False · / हमेशा float देता है (Python 3 में), // पूरा हिस्सा, % बचा हुआ। आखिरी वाला False इसलिए है क्योंकि decimal numbers computer में बिल्कुल exact नहीं रखे जा सकते — इसलिए floats की तुलना कभी == से मत करो, math.isclose(a, b) से करो।

Q9–Q10: Functions के दो classic traps

# Q9
def add_item(item, items=[]):
    items.append(item)
    return items

print(add_item(1))
print(add_item(2))

# Q10
def greet(naam):
    print("Namaste", naam)

result = greet("Priya")
print(result)

A9 → [1] फिर [2] नहीं, बल्कि [1, 2] · Default value सिर्फ एक बार बनती है — जब function define होता है, हर call पर नहीं। इसलिए वही list बार-बार भरती जाती है। सही तरीका:

def add_item(item, items=None):
    if items is None:
        items = []
    items.append(item)
    return items

A10 → Namaste Priya फिर None · जो function return नहीं करता वह चुपचाप None लौटाता है। print करना और return करना दो अलग चीज़ें हैं — यह फर्क interview में बहुत पूछा जाता है।

Output prediction के 7 rules जो हर सवाल में काम आते हैं

  1. गिनती 0 से शुरू होती है — n items का आखिरी index n−1।
  2. Slicing और range() में आखिरी number कभी शामिल नहीं होता।
  3. list.sort() जगह पर sort करता है और None देता है; sorted() नई list देता है।
  4. b = a copy नहीं बनाता — mutable चीज़ों (list, dict, set) में दोनों नाम एक ही object पर लगते हैं।
  5. Function बिना return के None लौटाता है।
  6. input() हमेशा string देता है।
  7. Default arguments सिर्फ एक बार बनते हैं — mutable default ([], {}) कभी मत लिखो।

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

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

सारे free problems देखो →

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

Python output prediction questions कहाँ से practice करें?

PyDebug पर 55+ free output-prediction questions browser में ही चलते हैं — आप जवाब लिखते हैं, फिर असली Python से code चलाकर मिलान होता है। न कोई install, न login ज़रूरी।

output prediction में सबसे ज़्यादा किन topics से सवाल आते हैं?

list slicing, range के step और bounds, mutable बनाम immutable (b = a वाला case), sort() बनाम sorted(), for-else, default arguments, और return बनाम print का फर्क।

print(nums[1:4]) का output क्या होगा?

[1, 2, 3, 4, 5] के लिए output [2, 3, 4] होगा, क्योंकि slicing में शुरू वाला index शामिल होता है और आखिरी वाला नहीं।

0.1 + 0.2 == 0.3 False क्यों आता है?

क्योंकि decimal numbers binary में बिल्कुल exact नहीं रखे जा सकते, इसलिए 0.1 + 0.2 का असली मान 0.30000000000000004 होता है। floats की तुलना math.isclose() से करें।

आगे पढ़ो