Competitive Programming Academy · पाठ

input() बनाम sys.stdin की तुलना

बड़े tests में साधारण input() आपको धीमा क्यों करता है

पाठ 1, कुल 4 में से13 चरण

input() बनाम sys.stdin की तुलना, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

input() की छिपी लागत

हर input() कॉल पर्दे के पीछे अतिरिक्त काम करती है। कुछ पंक्तियों के लिए यह ठीक है, लेकिन प्रतियोगिताओं में आपके सामने हज़ारों पंक्तियाँ आ सकती हैं। ⏱️

यह लागत क्यों बढ़ती जाती है

धीमेपन का कारण हर कॉल का अतिरिक्त भार है: संकेत, फ़्लश करना और एन्कोडिंग की जाँच हर पढ़ी जाने वाली पंक्ति पर दोहराई जाती है।

sys.stdin से परिचित हों

तेज़ तरीका कच्ची इनपुट धारा sys.stdin से पढ़ना है। यह input() द्वारा जोड़ी जाने वाली सुविधाजनक अतिरिक्त प्रक्रियाओं को छोड़ देता है।

import sys
data = sys.stdin

एक पंक्ति तेज़ी से पढ़ें

एक पंक्ति तेज़ी से प्राप्त करने के लिए sys.stdin.readline() का उपयोग करें। यह input() जैसा व्यवहार करता है, लेकिन हर कॉल पर बहुत कम अतिरिक्त भार डालता है।

import sys
line = sys.stdin.readline()

नई पंक्ति का ध्यान रखें

readline() अंत में आने वाला नई पंक्ति वर्ण बनाए रखता है। मान को पार्स करने से पहले उसे हटाने के लिए .strip() कॉल करें।

n = int(sys.stdin.readline().strip())

सब कुछ एक साथ पढ़ें

सबसे तेज़ पठन के लिए पूरा इनपुट एक ही बार में sys.stdin.read() से लें, फिर उस पाठ को स्वयं संसाधित करें।

data = sys.stdin.read()

पूरे पाठ को विभाजित करें

read() के बाद .split() कॉल करके सभी टोकन को एक सपाट सूची में बदलें। रिक्त स्थान और नई पंक्तियाँ एक साथ सँभाली जाती हैं।

tokens = sys.stdin.read().split()

गति के लिए input को पुनः बाँधें

एक सामान्य उपाय है कि input को readline की ओर इंगित कर दें, ताकि आपका पुराना कोड वैसा ही रहे, लेकिन तेज़ चले।

import sys
input = sys.stdin.readline

input() कब पर्याप्त है

यदि किसी समस्या में केवल कुछ ही पंक्तियाँ पढ़नी हों, तो सामान्य input() बिल्कुल ठीक है। तेज़ तरीका बड़े इनपुट के लिए बचाकर रखें।

print() में भी अतिरिक्त लागत है

यही बात आउटपुट पर भी लागू होती है: बहुत सारी print() कॉल धीमी होती हैं। हम इसे बाद के एक साथ आउटपुट भेजने वाले पाठ में ठीक करेंगे।

सही साधन चुनें

सामान्य नियम है: छोटा इनपुट हो तो input() उपयोग करें; बड़ा इनपुट हो तो sys.stdin पर जाएँ। साधन को N के अनुसार चुनने से आपके अंक बचते हैं।

त्वरित जाँच

पढ़ने की गति पर एक त्वरित सहज जाँच।

पुनरावलोकन: तेज़ पठन

आपने sys.stdin को input() के तेज़ विकल्प के रूप में जाना: हर पंक्ति के लिए readline(), या पूरे इनपुट के लिए read().split()। साधन को इनपुट के आकार के अनुसार चुनें। ⚡

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

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

क्या “input() बनाम sys.stdin की तुलना” पाठ निःशुल्क है?

हाँ—“input() बनाम sys.stdin की तुलना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“input() बनाम sys.stdin की तुलना” में मैं क्या सीखूँगा?

बड़े tests में साधारण input() आपको धीमा क्यों करता है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“input() बनाम sys.stdin की तुलना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. input() बनाम sys.stdin की तुलना
  2. एक Line में कई Numbers Parse करना
  3. सही तरीके से Batch Output
  4. N Lines पढ़ना और Edge Cases
← Competitive Programming Academy पर वापस जाएँ