Python मानक इनपुट: आधारभूत र अनुप्रयोग शुरुआती गाइड

目次

1. परिचय

Python मा प्रोग्राम बनाउँदा, प्रयोगकर्ताबाट इनपुट लिई प्रक्रिया गर्ने “मानक इनपुट” अत्यन्त महत्वपूर्ण हुन्छ। विशेष गरी input() फङ्क्शन प्रयोग गरेर किबोर्डबाट डेटा प्राप्त गर्दा, प्रयोगकर्तासँग अन्तरक्रिया सम्भव हुन्छ। यस लेखमा, Python शुरुआतीहरूका लागि, मानक इनपुटको आधारभूत प्रयोगबाट उन्नत विधिहरू सम्मलाई विशिष्ट उदाहरणहरूसँग व्याख्या गर्नेछौं। साधारण प्रोग्रामदेखि उन्नत प्रक्रिया विधिहरू सम्म क्रमशः सिक्न सकिने सामग्री हो।

2. Python को मानक इनपुटको मूलभूत प्रयोग

2.1 input() फङ्क्शन के हो?

input() फङ्क्शन प्रयोगकर्ताबाट इनपुट लिन्छ र स्ट्रिङको रूपमा फिर्ता गर्ने फङ्क्शन हो। उदाहरणका लागि, तलको कोडले प्रयोगकर्ताको नाम प्राप्त गरी आउटपुट गर्छ।
name = input("नाम प्रविष्ट गर्नुहोस्: ")
print(f"नमस्ते, {name} जी!")
यस कोडमा, input() द्वारा प्राप्त नामलाई name मा संग्रह गरी अभिवादन सन्देश आउटपुट गरिन्छ।

2.2 संख्यात्मक डेटा इनपुट र प्रकार रूपान्तरण

input() द्वारा प्राप्त डेटा स्ट्रिङ भएको कारण, यदि संख्यात्मक रूपमा प्रयोग गर्न चाहनुहुन्छ भने int() वा float() फङ्क्शनहरूद्वारा प्रकार रूपान्तरण गर्नुपर्छ।
age = int(input("उमेर प्रविष्ट गर्नुहोस्: "))
print(f"तपाईं {age} वर्षको हुनुहुन्छ।")
यस उदाहरणमा, स्ट्रिङलाई पूर्णांकमा रूपान्तरण गरी उमेरलाई संख्यात्मक रूपमा आउटपुट गरिन्छ।
年収訴求

3. बहु-लाइन मानक इनपुटको प्रक्रिया

3.1 बहु-लाइन स्ट्रिङ इनपुट

यदि तपाईंले बहु-लाइन इनपुट प्राप्त गर्न चाहनुहुन्छ भने, for लूप वा लिस्ट कम्प्रिहेन्सन प्रयोग गर्दा प्रभावकारी हुन्छ। उदाहरणका लागि, प्रयोगकर्ताबाट तीन विभिन्न शब्दहरू इनपुट गराउन चाहनुहुन्छ भने कोड तल देखाइएको छ।
words = [input(f"{i+1}औं शब्द प्रविष्ट गर्नुहोस्: ") for i in range(3)]
print(f"इनपुट गरिएका शब्दहरू: {words}")
यो कोडले तीन लाइनको इनपुटलाई सूचीमा संग्रह गरी, आउटपुट गर्दछ।

3.2 खाली स्थान विभाजनद्वारा बहु इनपुट

एकै लाइनमा बहु डेटा इनपुट गर्दा, split() फङ्क्शन प्रयोग गरेर खाली स्थानले विभाजन गर्न सकिन्छ। तलको उदाहरणमा, प्रयोगकर्तालाई संख्याहरूलाई खाली स्थानले विभाजन गरेर इनपुट गराइन्छ, र त्यसलाई पूर्णांकमा रूपान्तरण गरिन्छ।
numbers = list(map(int, input("संख्याहरूलाई खाली स्थानले विभाजन गरेर इनपुट गर्नुहोस्: ").split()))
print(f"इनपुट गरिएका संख्याहरू: {numbers}")
यहाँ map() फङ्क्शन प्रयोग गरी, इनपुट गरिएका संख्याहरूलाई पूर्णांक प्रकारमा रूपान्तरण गरिन्छ। split() द्वारा विभाजन गरिएको इनपुटलाई प्रभावकारी रूपमा सूचीमा संग्रह गरिन्छ।

4. मानक इनपुटको प्रयोग: फाइलहरू र बाइनरी डेटा प्रक्रिया

4.1 sys.stdin प्रयोग गरेर मानक इनपुटको प्रक्रिया

sys.stdin प्रयोग गर्दा, मानक इनपुटबाट डेटा सिधै पढ्न सकिन्छ। ठूलो मात्रामा पाठ डेटा वा कमाण्ड‑लाइन आर्गुमेन्टबाट पास गरिएको फाइलको सामग्रीलाई मानक इनपुटको रूपमा प्रयोग गर्दा उपयोगी हुन्छ।
import sys

data = sys.stdin.read()
print(f"प्राप्त डेटा: {data}")
यो कोडले मानक इनपुटबाट सम्पूर्ण डेटा पढेर आउटपुट गर्दछ।

4.2 बाइनरी डेटाको सरल प्रक्रिया

sys.stdin.buffer प्रयोग गरेर, बाइनरी डेटा सिधै प्रक्रिया गर्न सकिन्छ। यो, छवि डेटा वा बाइनरी स्वरूपको फाइलहरूलाई ह्यान्डल गर्दा उपयोगी हुन्छ।
import sys

binary_data = sys.stdin.buffer.read()
print(binary_data)
यो कोडले मानक इनपुटबाट बाइनरी डेटा पढेर, त्यसलाई जस्तै रूपमा आउटपुट गर्दछ।

5. व्यावहारिक प्रयोग केसहरू: मानक इनपुट प्रयोग गरेर समस्या समाधान

5.1 मानक इनपुट प्रयोग गरेर औसत मान गणना कार्यक्रम

तलको कार्यक्रमले मानक इनपुटबाट पूर्णांकहरू लिन्छ, तिनीहरूको औसत मान गणना गरी आउटपुट गर्दछ। यस्तो प्रक्रिया प्रतिस्पर्धी प्रोग्रामिङ वा डेटा प्रोसेसिङमा प्रायः प्रयोग हुन्छ।
N = int(input("कृपया इनपुट गर्ने संख्याको संख्या निर्दिष्ट गर्नुहोस्: "))
numbers = list(map(int, input("कृपया संख्याहरूलाई खाली स्थानले विभाजित गरेर इनपुट गर्नुहोस्: ").split()))
average = sum(numbers) / N
print(f"औसत मान {average} हो।")
यो कार्यक्रमले पहिलो पटक संख्याको संख्या लिन्छ, त्यसपछि खाली स्थानले विभाजित गरिएका संख्याहरूलाई सूचीको रूपमा लिई, औसत मान गणना गर्दछ।

5.2 इनपुट समाप्त नहुन्जेल डेटा लिने कार्यक्रम

यो कार्यक्रम प्रयोगकर्ता खाली पङ्क्ति इनपुट गर्ने सम्म डेटा लिरहन्छ। विशिष्ट समाप्ति शर्त सेट गरेर दीर्घकालीन इनपुट डेटा प्रोसेसिङ सम्भव हुन्छ।
data = []
while True:
    line = input()
    if line == "":
        break
    data.append(line)
print("इनपुट गरिएको डेटा: ", data)
यस उदाहरणमा, खाली पङ्क्ति इनपुट नहुन्जेल डेटा लिरहन्छ, अन्तमा सबै डेटा आउटपुट गर्दछ।

6. सामान्य त्रुटिहरू र तिनीहरूको समाधान

6.1 ValueError को समाधान

संख्यात्मक इनपुट गर्दा, प्रयोगकर्ताले गल्तीले स्ट्रिङ इनपुट गरेमा ValueError उत्पन्न हुन्छ। यो त्रुटि टाल्नको लागि, इनपुट मानलाई प्रमाणित गर्ने कोड थप्न आवश्यक छ।
try:
    age = int(input("उमेर प्रविष्ट गर्नुहोस्: "))
except ValueError:
    print("अमान्य इनपुट हो। कृपया संख्या प्रविष्ट गर्नुहोस्।")

6.2 EOFError को समाधान

बहु-लाइन इनपुट लिँदा, मानक इनपुटको अन्त्य दर्शाउने EOF(End of File)त्रुटि उत्पन्न हुन सक्छ। यसलाई टाल्नको लागि, समाप्ति सर्तलाई उपयुक्त रूपमा सेट गर्नु महत्त्वपूर्ण छ।
import sys

for line in sys.stdin:
    if line.strip() == "":
        break
    print(line.strip())

7. सारांश

Python मा मानक इनपुट प्रयोग गरेर, प्रयोगकर्तासँगको अन्तरक्रिया सजिलै सम्भव हुन्छ र अधिक उन्नत प्रोग्रामहरू बनाउने क्षमता प्राप्त हुन्छ। मूलभूत input() फङ्सनबाट फाइल र बाइनरी डेटा प्रशोधनसम्म विभिन्न विधिहरू सिक्यौं। मानक इनपुटको उपयोग विधि बुझेर, अभ्यास गरेर, प्रोग्रामको लचिलोपन र कार्यक्षमता सुधार हुन्छ।