目次
1. परिचय
Python मा「अवशेष」वा「शेष」भन्ने शब्दहरू भाग गर्दा बाँकी रहने संख्यालाई जनाउँछ। प्रोग्रामिङमा, शेषलाई विषम र सम सङ्ख्याको पहिचान, डेटा इन्डेक्स प्रक्रिया, समयको ढाँचा रूपान्तरण आदि विभिन्न प्रयोजनहरूमा प्रयोग गरिन्छ। यस लेखमा, Python मा शेष गणनाको आधारभूतदेखि उन्नत प्रयोगसम्म क्रमशः व्याख्या गर्नेछौं।अवशेष(शेष) के हो?
「अवशेष」 भनेको भागको परिणाममा, भागफलमा नसमावेश भागलाई जनाउँछ। उदाहरणका लागि, 10 लाई 3 ले भाग गर्दा, भागफल 3 र अवशेष 1 हुन्छ। यो「अवशेष」 गणना गर्न Python मा「%」 अपरेटर प्रयोग गरिन्छ।2. मोड्युलो अपरेशनको आधारभूत
% अपरेटरको प्रयोग
Python को मोड्युलो अपरेशन “%” अपरेटर प्रयोग गरेर गरिन्छ। उदाहरणका लागि, तलको कोडले 10 लाई 3 ले भाग गर्दा बाँकी प्राप्त गर्न सक्छ।print(10 % 3) # परिणाम 1
यो भागफलको भागलाई बेवास्ता गरी, बाँकी मात्र प्राप्त गर्ने सुविधाजनक विधि हो।विषम र सम संख्याको पहिचान
मोड्युलो अपरेशन सबैभन्दा धेरै प्रयोग हुने परिस्थितिहरूमध्ये एक हो, विषम र सम संख्याको निर्धारण। संख्या 2 ले भाग गर्दा बाँकी 0 भए सम, 1 भए विषम भनेर पहिचान गर्न सकिन्छ।num = 6
if num % 2 == 0:
print(f"{num} सम हो")
else:
print(f"{num} विषम हो")
यो सरल कोडले, सम‑विषमलाई छिटो निर्धारण गर्न सक्छ।3. भागफल र बाँकीलाई एकै साथ प्राप्त गर्ने तरिका
divmod() फलनको प्रयोग
Python मा भागफल र बाँकीलाई एकै साथ प्राप्त गर्नको लागिdivmod()
फलन छ। यसले दुई गणनाका परिणामहरू एकै पटक प्राप्त गर्न सकिन्छ, जसले कार्यक्षमता बढाउँछ।result = divmod(10, 3)
print(result) # परिणाम (3, 1) हो
यसरी, divmod()
भागफल र बाँकीलाई ट्युपल स्वरूपमा फिर्ता गर्छ, जसले प्रक्रिया सरल बनाउँछ।4. मोड्युलो अपरेसनको प्रयोगात्मक उदाहरणहरू
इन्डेक्सको चक्रीय प्रक्रिया
म्युलो अपरेसन सूची वा एरेको इन्डेक्स व्यवस्थापनमा पनि उपयोगी हुन्छ। उदाहरणका लागि, यदि सूचीको इन्डेक्स दायरा बाहिर जान्छ भने, मोड्युलो प्रयोग गरेर चक्रीय प्रक्रिया कार्यान्वयन गर्न सकिन्छ।def get_element_with_cyclic_index(lst, index):
return lst[index % len(lst)]
my_list = [10, 20, 30, 40]
print(get_element_with_cyclic_index(my_list, 5)) # परिणाम 10
सूचीको लम्बाइभन्दा बढी इन्डेक्सको लागि पनि, सुरक्षित रूपमा मान प्राप्त गर्न सकिन्छ।समयको ढाँचा रूपान्तरण
मोड्युलो अपरेसन समय गणनामा पनि उपयोगी हुन्छ। उदाहरणका लागि, सेकेन्डलाई मिनेट र सेकेन्डमा रूपान्तरण गर्दा प्रयोग गर्न सकिन्छ।time_in_seconds = 125
minutes = time_in_seconds // 60
seconds = time_in_seconds % 60
print(f"{minutes}मिनेट {seconds}सेकेन्ड") # परिणाम 2 मिनेट 5 सेकेन्ड
यसरी, मोड्युलो प्रयोग गरेर समयको ढाँचा रूपान्तरण सजिलो बनाइन्छ।5. नकारात्मक संख्याहरू र फ्लोटिङ पोइन्ट संख्याहरूमा मोड्युलो अपरेशन
नकारात्मक संख्याको मोड्युलो
नकारात्मक संख्यामा मोड्युलो अपरेशनको परिणामले अपेक्षित परिणामसँग फरक हुन सक्छ। तलको कोडमा, Python मा नकारात्मक संख्याको मोड्युलोको व्यवहार जाँच गर्न सकिन्छ।result = -10 % 3
print(result) # परिणाम 2 हो
गणितीय परिभाषा अनुसार -1 हुनुपर्दछ, तर Python मा बाँकी सधैं सकारात्मक मानको रूपमा फर्काइन्छ। यो Python को विशेष व्यवहार हो, र अन्य प्रोग्रामिङ भाषाहरूमा परिणाम फरक हुन सक्छ।फ्लोटिङ पोइन्ट संख्याहरूको ह्यान्डलिंग
फ्लोटिङ पोइन्ट संख्याहरू र मोड्युलो अपरेशनलाई संयोजन गर्दा गणनात्मक त्रुटि उत्पन्न हुन सक्छ। यसको कारण फ्लोटिङ पोइन्ट संख्याहरू अनुमानित मानको रूपमा प्रतिनिधित्व गरिन्छ।result = 0.3 % 0.1
print(result) # परिणाम 0.09999999999999995 हो
यस्ता त्रुटिहरूलाई टार्न, फ्लोटिङ पोइन्ट संख्यामा मोड्युलो अपरेशन गर्दा विशेष सावधानी आवश्यक छ। पूर्णांक मात्र प्रयोग गरेर गणना गर्नुहोस्, वा त्रुटिको सहनशीलता सीमा पूर्वनिर्धारित गर्नु सिफारिस गरिन्छ।
6. सारांश र व्यावहारिक प्रयोगको लागू
Python को मोड्युलो गणना केवल मूलभूत भागफलको बाँकी गणना मात्र होइन, सूचीको चक्रीय प्रक्रिया, समय गणना, डेटा विभाजन आदि व्यावहारिक परिस्थितिहरूमा व्यापक रूपमा प्रयोग हुन्छ। विशेष गरी 「%」 अपरेटर रdivmod()
फलन प्रयोग गरेर, डेटा प्रभावकारी रूपमा प्रक्रिया गर्न सकिन्छ। साथै, फ्लोटिङ पोइन्ट संख्या वा नकारात्मक संख्याहरूलाई ह्यान्डल गर्दा, त्रुटि र गणनाको परिणाममा ध्यान दिनु आवश्यक छ। मोड्युलो गणनालाई उपयोग गरी, अझ प्रभावकारी र लचिलो प्रोग्राम निर्माण गरौं।