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 जो हर सवाल में काम आते हैं
- गिनती 0 से शुरू होती है — n items का आखिरी index n−1।
- Slicing और
range()में आखिरी number कभी शामिल नहीं होता। list.sort()जगह पर sort करता है औरNoneदेता है;sorted()नई list देता है।b = acopy नहीं बनाता — mutable चीज़ों (list, dict, set) में दोनों नाम एक ही object पर लगते हैं।- Function बिना
returnकेNoneलौटाता है। input()हमेशा string देता है।- Default arguments सिर्फ एक बार बनते हैं — mutable default (
[],{}) कभी मत लिखो।
🛠️ Practice करो (free, browser में)
पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।
- Slicing में end index शामिल नहीं — Q1 वाला rule हाथ से
- List copy बनाम reference — b = a का असली मतलब
- for loop पर else clause — interview का favourite
- Mutable default argument trap — Q9 का पूरा version
- Function जो कुछ return नहीं करता — None कहाँ से आया
- range में step value — 1 4 7 वाला pattern
अक्सर पूछे जाने वाले सवाल
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() से करें।