ailiteracynepal 🇳🇵
पाठ आकार

अध्याय १ · खण्ड III · 24 मिनेट

तपाईंको पहिलो कार्यक्रम — चलाएर, बुझेर

परम्पराले हेलो वर्ल्ड माग्छ। हामी नेपाली अभिवादनसहित एउटा लेख्छौं, अनि भर्खर टाइप गरेको प्रत्येक लाइन साँचो रूपमा बुझ्न दश मिनेट लगाउँछौं।

हरेक जीवित प्रोग्रामरले, आफ्नो करियरको पहिलो घण्टामा, “हेलो, वर्ल्ड” भन्ने कार्यक्रम लेखेका छन्। यो परम्परा हो, कानुन होइन, र हामी पनि अनुसरण गर्नेछौं — एउटा सानो भिन्नतासहित। हाम्रो हेलो वर्ल्डले नेपाली अभिवादन बोक्नेछ, र हामी यसलाई शिक्षकले सानो बच्चासँग वाक्य पढेझैँ पढ्नेछौँ: बिस्तारै, ठूलो स्वरमा, प्रत्येक टुक्रा बुझेर।

कार्यक्रम

पछिल्लो खण्डको setup-check.ipynb नोटबुक खोल्नुहोस्, वा hello.ipynb नामको नयाँ बनाउनुहोस्। नयाँ सेलमा यो ठ्याक्कै टाइप गर्नुहोस्:

greeting = "Namaste"
name = "Nischal"
print(greeting + ", " + name + "!")

Shift+Enter थिच्नुहोस्। तपाईंले देख्नुपर्छ:

Namaste, Nischal!

तीन लाइन कोड। एक लाइन आउटपुट। अर्को दश मिनेटका लागि त्यति नै पर्याप्त छ।

लाइन एक पढ्ने

greeting = "Namaste"

यो एउटा असाइनमेन्ट हो। बायाँबाट दायाँ होइन, दायाँबाट बायाँ पढ्नुहोस्:

  1. दायाँको कुरा — "Namaste" — एउटा स्ट्रिङ हो। स्ट्रिङ भनेको पाठको टुक्रा हो। Python मा तपाईं उद्धरण चिन्हले बेरेर स्ट्रिङ चिनाउनुहुन्छ। ती चिन्हहरूले Python लाई भन्छन्, “यी बीचको सबै पाठ हो, कोड होइन”।
  2. = गणितको “बराबर” होइन। यो “यसलाई भण्डारण गर्नुहोस्” हो।
  3. बायाँको नाम — greeting — तपाईंले पाठ भण्डारण गरिरहेको लेबल हो। तपाईं यो नाम छान्नुहुन्छ। तपाईंले यसलाई salutation, hello_word, वा namaste_str पनि भन्न सक्नुहुन्थ्यो। Python लाई फरक पर्दैन।

नतिजा: स्मरणमा अब greeting नामको एउटा कुरा छ, र कसैले यसको मान सोध्यो भने Python ले "Namaste" भन्छ।

लाइन दुई पढ्ने

name = "Nischal"

उही ढाँचा। स्ट्रिङ "Nischal" लाई name नाममा भण्डारण गरिएको छ। अघि बढ्नुअघि "Nischal" लाई आफ्नो नाममा बदल्नुहोस्। प्रोग्रामिङको उद्देश्य उदाहरणहरू पछ्याउने होइन; तिनलाई आफ्नो बनाउने हो।

लाइन तीन पढ्ने

print(greeting + ", " + name + "!")

यो लाइनले एकैचोटि चार कुरा गरिरहेको छ। टुक्र्याऔँ:

  • print(...) एउटा फङ्क्सन कल हो। print फङ्क्सन हो — Python मा निर्मित सानो मेसिन, जसको काम स्क्रिनमा केही लेख्ने हो। कोष्ठकले “यो फङ्क्सनलाई कल गर्नुहोस्” भन्छ। कोष्ठकभित्रको जे पनि त्यो फङ्क्सनले प्राप्त गर्ने आर्गुमेन्ट हो।
  • यहाँको आर्गुमेन्ट अभिव्यक्ति greeting + ", " + name + "!" हो। Python ले पहिले आर्गुमेन्ट मूल्याङ्कन गर्छ, अनि नतिजा print लाई दिन्छ।
  • स्ट्रिङबीचको + जोडाइ (concatenation) हो — पाठहरूलाई अन्त्यमा एकअर्कामा जोड्ने, अंकगणितीय जोडाइ होइन। त्यसैले "Namaste" + ", " ले "Namaste, " दिन्छ, र यसैगरी, एउटा संयुक्त स्ट्रिङ नबनुन्जेल।
  • अन्त्यमा, print ले त्यो संयुक्त स्ट्रिङलाई स्क्रिनमा लेख्छ।

प्रत्येक टुक्रा छुट्टै कोसिस गरेर पनि क्रम देख्न सकिन्छ:

greeting + ", "

त्यो सेलले 'Namaste, ' देखाउँछ — जोडिएको स्ट्रिङ, तर औपचारिक रूपमा “प्रिन्ट” गरिएको होइन। (नोटबुकले सेलको अन्तिम अभिव्यक्तिको मान स्वचालित रूपमा देखाउँछ। त्यो प्रदर्शन print कल गर्नुजस्तै हो, तर ठ्याक्कै उस्तै होइन। फरक स्क्रिप्टमा पुग्दा बढी अर्थ राख्छ, अहिले कम।)

जानाजानी एउटा पहिलो त्रुटि

अब कार्यक्रम जानाजानी बिगारौं। नयाँ सेलमा टाइप गर्नुहोस्:

greeting = "Namaste

चलाउनुहोस्। Python ले लगभग यस्तो त्रुटि फ्याँक्छ:

SyntaxError: EOL while scanning string literal

अनुवाद गर्नुहोस्: “लाइन सकिँदा पनि स्ट्रिङ लिटरल स्क्यान गरिरहेको थियो”। Python ले पढ्दै थियो, खुल्ला उद्धरण देख्यो, बन्द उद्धरण खोज्न थाल्यो — र लाइनको अन्त्यसम्म पनि भेटाएन। त्यसैले रोकेर गुनासो गर्‍यो।

त्यो त्रुटि सन्देशको वास्तविक काम हो: Python किन अघि बढ्न सकेन भन्ने भद्र व्याख्या। डिबगिङको सीप त्रुटि कोड कण्ठ गर्ने होइन। यो सन्देशलाई बिस्तारै पढ्ने र त्यसको कुरा पत्याउने अनुशासन हो।

उही कुरा अझ राम्रोसँग लेख्ने तरिका

greeting + ", " + name + "!" ढाँचा ठीक छ तर अप्ठ्यारो — एक पटक तीन-चार टुक्रा जोड्नुपर्‍यो भने पढ्न गाह्रो हुन्छ। Python सँग सफा सिन्ट्याक्स छ जसलाई f-string भनिन्छ (f “formatted” का लागि):

greeting = "Namaste"
name = "Nischal"
print(f"{greeting}, {name}!")

उही आउटपुट। पढ्न सजिलो। खुल्ने उद्धरणअगाडिको f ले Python लाई भन्छ “यो ढाँचाबद्ध स्ट्रिङ हो”; {...} स्थानहरू कोष्ठकभित्रको जुनसुकै अभिव्यक्तिको मानले भरिन्छ।

यहाँदेखि अघि ट्र्याकमा हामी स्ट्रिङहरू यसरी लेख्नेछौं। + ढाँचा अझै काम गर्छ — पुरानो कोडमा देख्नुहुनेछ — तर f-string अहिलेको मानक हो।

आफ्नो बनाउनुहोस्

क्विजअघि, तीनवटा साना परिमार्जन। प्रत्येक नयाँ सेलमा प्रयास गर्नुहोस्:

  1. greeting लाई "Sat Sri Akal" वा "Tashi Delek" मा बदल्नुहोस् — पंजाबी र तिब्बती अभिवादन जुन नेपालमा पनि सुनिन्छन्। चलाउनुहोस्। कार्यक्रमको संरचना बदलिएको छैन; डाटा मात्र।
  2. तेस्रो भेरिएबल थप्नुहोस्: time_of_day = "evening"। नयाँ print लाइन बनाउनुहोस्: print(f"{greeting}, {name}! Hope your {time_of_day} is going well.")। चलाउनुहोस्।
  3. print लाई Print (ठूलो P सहित) मा बदल्नुहोस्। चलाउनुहोस्। त्रुटि नोट गर्नुहोस्: NameError: name 'Print' is not defined। Python केस-संवेदनशील छ। printPrint दुई फरक नाम हुन्; तलल्ले लोवरकेस वाला मात्र वास्तविक फङ्क्सन हो।

प्रत्येकमा तीस सेकेन्ड लाग्छ र सिद्धान्तको पूरै अनुच्छेदभन्दा बढी सिकाउँछ।

आफ्नो बुझाइ जाँच्नुहोस्

Quick check

यो कार्यक्रम हेर्नुहोस्: greeting = 'Namaste' name = 'Sita' print(greeting + ', ' + name) यसले के प्रिन्ट गर्छ?

Quick check

एक साथीले यो कार्यक्रम लेख्छन्, चलाउँछन्, र काम नगरेकोमा छक्क पर्छन्: name = 'Rita' Print(name) सबैभन्दा सही व्याख्या कुन हो?

अब के आउँछ

तपाईंले एउटा वास्तविक कार्यक्रम लेख्नुभयो, चलाउनुभयो, परिमार्जन गर्नुभयो, र बिगार्नुभयो। अर्को अध्यायदेखि कार्यक्रमहरू ठूला हुन थाल्छन् — मानहरूको सूची, लूप, फङ्क्सन, र सानो-सानो काम जसले एक-सेलको प्रयोगलाई NEPSE फिड पढ्न वा रसिदहरूको फोल्डर प्रशोधन गर्न सक्ने केहीमा बदल्छ। यो खण्डमा प्रयोग गरेको टाइप गर्ने, चलाउने, पढ्ने, परिमार्जन गर्ने ढाँचा अर्को चार पाठ्यक्रमका लागि तपाईंको ढाँचा हुनेछ। अहिले नै यसमा अभ्यस्त हुनुहोस् र बाँकी हतार बिनै चल्छ।

अघि बढ्नुअघि अन्तिम कुरा। खण्ड 1 को गृहकार्यमा फर्कनुहोस्: आफ्नै जीवनबाट लेखेको त्यो एउटा वास्तविक समस्या। फेरि हेर्नुहोस्। यस पाठ्यक्रमको अन्त्यसम्ममा, तपाईंले त्यसको कुनै टुक्रा सम्बोधन गर्ने सानो प्रोटोटाइप बनाइसक्नुभएको हुनेछ। त्यो नोट कतै देखिने ठाउँमा राख्नुहोस्।