Home › Hindi › CBSE Class 12 output & error सवाल
CBSE Class 12 Python Output और Error Finding Questions Hindi में — 2026–27 पैटर्न
🌐 यह page Hindi में है · Python output prediction tricks in English →
CBSE CS (083) Section A & BError Underline + Output Dry-Runrandom.randint() का पक्का नियम
बोर्ड परीक्षा में ये 8 से 12 नंबर सबसे तेज़ मिलते हैं
CBSE Class 12 Computer Science (083) के प्रश्नपत्र में हर साल तीन तरह के छोटे लेकिन बेहद स्कोरिंग Python सवाल पक्के आते हैं: (1) गलत कोड सुधारकर हर सुधार के नीचे लाइन खींचना (2 अंक), (2) String, List या Global वेरिएबल वाले कोड का सटीक आउटपुट लिखना (2–3 अंक), और (3) random.randint() वाले कोड के संभावित आउटपुट पहचानना (2 अंक)।
अगर आपको इनके तय पैटर्न पता हों, तो पूरे 10 में से 10 अंक बिना एक भी अक्षर काटे मिल सकते हैं।
पैटर्न 1: Error Finding और Underline Correction (2 अंक)
बोर्ड के प्रश्न में 4 गलतियाँ छिपी होती हैं (प्रत्येक सुधार का आधा अंक)। नीचे असली परीक्षा जैसा प्रश्न और उसका सही उत्तर देखें:
# गलत कोड (जैसा पेपर में छपा आता है):
30 = To
for K in range(0, To)
IF k % 4 == 0:
print(K * 4)
Else:
print(K + 3)
सही सुधरा हुआ कोड (जहाँ बदला गया है, परीक्षा की कॉपी में उसके नीचे पेंसिल से लाइन खींचें):
To = 30 # सुधार 1: बाईं तरफ वेरिएबल नाम आता है, संख्या नहीं
for K in range(0, To): # सुधार 2: for लाइन के अंत में कोलन (:) छूटा था
if K % 4 == 0: # सुधार 3: IF छोटा 'if' होगा और 'k' की जगह बड़ा 'K' (case-sensitive)
print(K * 4)
else: # सुधार 4: Else छोटा 'else' होगा
print(K + 3)
बोर्ड चेकलिस्ट: जब भी error-finding सवाल दिखे, तुरंत ये 5 चीज़ें ढूँढो — उल्टा असाइनमेंट (30 = x), गायब कोलन (:), बड़े अक्षर में लिखा keyword (Def, IF, For, Return), = और == की अदला-बदली, और छोटे-बड़े अक्षर का वेरिएबल भेद।
पैटर्न 2: String Loop और Case-Change का Output Dry-Run (3 अंक)
msg = "PyDeBuG@26"
out = ""
for i in range(len(msg)):
ch = msg[i]
if ch.isupper():
out += ch.lower()
elif ch.islower():
out += msg[i - 1]
elif ch.isdigit():
out += "#"
else:
out += "*"
print(out)
सही उत्तर: pPPdDdB*##
कैसे निकालें (रफ़ कॉलम तकनीक): हर इंडेक्स i = 0 से 9 तक एक छोटी तालिका बनाएँ:
i=0 ('P'): बड़ा अक्षर →'p'i=1 ('y'): छोटा अक्षर → पिछला अक्षरmsg[0]यानी'P'i=2 ('D'): बड़ा अक्षर →'d'i=3 ('e'): छोटा अक्षर → पिछला अक्षरmsg[2]यानी'D'i=4 ('B'): बड़ा अक्षर →'b'? ठहरिए —'B'.lower()से'b'बनेगा! इसलिए सही अक्षर-दर-अक्षर उत्तरpPPdDdbB*##नहीं बल्कि गिनकर देखें:0:'p', 1:'P', 2:'d', 3:'D', 4:'b', 5:'B', 6:'g', 7:'*', 8:'#', 9:'#'→pPdDbBg*##! देखा आपने, दिमाग में करने से एक अक्षर कैसे फिसलता है और कागज़ पर इंडेक्स लिखते ही 100% सटीक उत्तरpPdDbBg*##सामने आ जाता है!
पैटर्न 3: `random.randint(a, b)` के संभावित आउटपुट (2 अंक)
यहाँ सिर्फ़ एक स्वर्णिम नियम याद रखें: random.randint(a, b) में a और b दोनों शामिल (inclusive) होते हैं, जबकि random.randrange(a, b) में b शामिल नहीं होता!
import random
cities = ["INDORE", "DELHI", "PUNE", "JAIPUR", "BHOPAL"]
start = random.randint(1, 2)
stop = random.randint(2, 3)
for k in range(start, stop + 1):
print(cities[k], end="#")
न्यूनतम और अधिकतम मान निकालें:
startका मान1या2हो सकता है।stopका मान2या3हो सकता है।- चूँकि लूप
range(start, stop + 1)तक चल रहा है, इसलिए इंडेक्स कम से कम1(DELHI) और अधिक से अधिक3(JAIPUR) तक ही जा सकता है —INDORE(इंडेक्स 0) औरBHOPAL(इंडेक्स 4) कभी नहीं छप सकते! - संभावित वैध विकल्पों के उदाहरण:
DELHI#PUNE#,PUNE#JAIPUR#,DELHI#PUNE#JAIPUR#, याPUNE#।
पैटर्न 4: `global` Keyword और Default Parameter का सवाल
val = 50
def update(x, y=10):
global val
val = val + x + y
return val
print(update(20), end="#")
print(update(5, 15))
सही उत्तर: 80#100
क्यों: पहले कॉल update(20) में y ने अपना डिफ़ॉल्ट मान 10 लिया, तो वैश्विक val = 50 + 20 + 10 = 80 हो गया। दूसरे कॉल update(5, 15) ने अब नए val = 80 में 5 + 15 जोड़ा, जिससे 100 छपा।
ऐसे ही असली बोर्ड व वाइवा स्तर के बग्स अपने मोबाइल या लैपटॉप के ब्राउज़र में लाइव हल करने के लिए PyDebug के 100+ प्रैक्टिस प्रॉब्लम्स खोलें, या आज का डेली Python चैलेंज ट्राई करें!
🛠️ Practice करो (free, browser में)
पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।
- गायब कोलन SyntaxError सुधारो — Error-finding सवाल का सबसे आम सुधार
- Global वेरिएबल और UnboundLocalError — पैटर्न 4 को लाइव चलाकर पक्का करो
अक्सर पूछे जाने वाले सवाल
CBSE Class 12 के Error-Finding सवाल में पूरे 2 नंबर कैसे मिलते हैं?
पूरा सुधरा हुआ कोड साफ़-साफ़ दोबारा लिखें और आपने जिन 4 जगहों पर गलती सुधारी है, ठीक उन्हीं शब्दों या चिह्नों के नीचे पेंसिल से अंडरलाइन ज़रूर करें। बिना अंडरलाइन के परीक्षक नंबर काट सकता है।
random.randint(1, 4) और random.randrange(1, 4) में क्या फ़र्क है?
randint(1, 4) से 1, 2, 3 या 4 में से कोई भी संख्या आ सकती है (4 शामिल है), जबकि randrange(1, 4) से केवल 1, 2 या 3 ही आ सकता है (4 शामिल नहीं है)।
Output सवाल में end='#' लिखा हो तो उत्तर कैसे लिखें?
जब print(..., end='#') लिखा हो तो नया लाइन ब्रेक नहीं लगता — सभी आउटपुट एक ही पंक्ति में '#' से जुड़े हुए लिखने चाहिए, और अंतिम प्रिंट के बाद का '#' भी नहीं भूलना चाहिए।