目次
1. Python को round()
फलनको आधारभूत
round()
फलनको सारांश
Python को round()
फलन संख्यालाई गोलाई गर्नको लागि आधारभूत फलन हो। मुख्यतया, दशमलव बिन्दु पछिको अंक संख्या निर्दिष्ट गरेर संख्यालाई गोलाई गर्न प्रयोग गरिन्छ। यसले डेटा प्रदर्शन वा गणनाको नतिजा सरल रूपमा समायोजन गर्न मद्दत गर्छ।आधारभूत संरचना
round(number[, ndigits])
- number: गोलाई गर्ने लक्ष्यको संख्या।
- ndigits: दशमलव बिन्दु पछिको अंक संख्या (वैकल्पिक)। यदि छुट्याइएन भने पूर्णांकमा गोलाई गरिन्छ।
उदाहरण
print(round(3.14159)) # परिणाम: 3
print(round(3.14159, 2)) # परिणाम: 3.14
print(round(1.5)) # परिणाम: 2
यसरी, round()
फलन निर्दिष्ट अंक संख्यामा गोलाई गर्न सक्छ, र ndigits
निर्दिष्ट नगरेको खण्डमा पूर्णांकमा गोलाई गरिन्छ।2. Python को गोलाइ गर्ने विधि: “ब्याङ्कर राउन्डिङ”
ब्याङ्कर राउन्डिङ भनेको के हो?
Python कोround()
फङ्क्शनले “ब्याङ्कर राउन्डिङ (Banker’s Rounding)” नामक विधि प्रयोग गर्छ। यो विधि दशमलव भाग 0.5 हुँदा नजिकको सम संख्या (इभेन) मा गोलाइ गर्छ। उदाहरणका लागि, 2.5
लाई 2
मा, 3.5
लाई 4
मा गोलाइ गरिन्छ। यो विधि सांख्यिकीय डेटा र वित्तीय गणनामा डेटा पक्षपात रोक्न प्रयोग गरिन्छ।ब्याङ्कर राउन्डिङको विशिष्ट उदाहरण
print(round(2.5)) # परिणाम: 2
print(round(3.5)) # परिणाम: 4
यसरी, ब्याङ्कर राउन्डिङमा दशमलव भाग 0.5 हुँदा सम संख्यामा गोलाइ गरिन्छ, जसले त्रुटिको संचयलाई रोक्छ।ब्याङ्कर राउन्डिङको फाइदाहरू
यो विधिले साधारण माथि गोलाइ वा तल गोलाइले हुने संचयी त्रुटिलाई घटाउन सक्छ। विशेष गरी, ठूलो मात्रामा डेटा प्रक्रिया गर्दा, सम्पूर्ण डेटाको सन्तुलन कायम राख्न मद्दत गर्दछ।3. फ्लोटिङ पोइन्ट संख्याको समस्या
फ्लोटिङ पोइन्ट संख्याको आन्तरिक प्रतिनिधित्व र त्रुटि
Python मा, फ्लोटिङ पोइन्ट संख्याहरूलाई द्विआधारीमा प्रतिनिधित्व गरिन्छ। यसले गर्दा, दशमलव संख्याहरू सही रूपमा प्रतिनिधित्व नहुन सक्छ, र गोलाई प्रक्रियामा अनपेक्षित परिणामहरू प्राप्त हुन सक्छ। विशेष गरी, जब संख्याहरू आन्तरिक रूपमा सही रूपमा प्रतिनिधित्व गर्न सकिँदैन,round()
फङ्सनको परिणाम अपेक्षित जस्तै नहुन सक्छ।फ्लोटिङ पोइन्ट समस्याको उदाहरण
n = 3.15
print(round(n, 1)) # परिणाम: 3.1(अपेक्षा 3.2)
यस उदाहरणमा, 3.15
आन्तरिक रूपमा 3.149999...
को रूपमा प्रतिनिधित्व गरिन्छ, जसले गर्दा अपेक्षित परिणाम प्राप्त हुँदैन। यो फ्लोटिङ पोइन्ट संख्याको सीमितताका कारण हो।फ्लोटिङ पोइन्ट त्रुटि किन उत्पन्न हुन्छ
फ्लोटिङ पोइन्ट संख्याहरू द्विआधारीमा प्रतिनिधित्व गरिएका छन्, र 1.15 वा 3.15 जस्ता संख्याहरूलाई सही रूपमा प्रतिनिधित्व गर्न सकिँदैन। यसले गोलाई गर्दा त्रुटि उत्पन्न हुन्छ। यो समस्या टाल्नको लागि, तल व्याख्या गरिएकोdecimal
मोड्युल जस्तै उच्च-शुद्धताको संख्यात्मक प्रक्रिया प्रयोग गर्न सिफारिस गरिन्छ।4. शुद्धता कायम राख्नको लागि decimal
मोड्युल
decimal
मोड्युलको सारांश
decimal
मोड्युल प्रयोग गरेर, फ्लोटिङ पोइन्ट संख्याको त्रुटि टाल्न, उच्च शुद्धताका संख्यात्मक गणना गर्न सकिन्छ। विशेष गरी, वित्तीय गणना वा वैज्ञानिक गणनामा सही नतिजा आवश्यक पर्दा उपयोगी हुन्छ।उदाहरण
from decimal import Decimal, ROUND_HALF_UP
n = Decimal('3.15')
print(n.quantize(Decimal('0.1'), rounding=ROUND_HALF_UP)) # परिणाम: 3.2
Decimal
क्लास फ्लोटिङ पोइन्टको त्रुटि टाल्न, उच्च शुद्धताका गणना गर्न प्रयोग गरिन्छ। ROUND_HALF_UP
सामान्य गोलाई जस्तै कार्य गर्दछ।अन्य गोलाई मोडहरू
decimal
मोड्युलमा विभिन्न गोलाई मोडहरू छन्। उदाहरणका लागि:- ROUND_DOWN: सधैं तलको भाग काट्छ।
- ROUND_CEILING: धनात्मक संख्याहरूलाई माथि गोलाई, ऋणात्मक संख्याहरूलाई तल गोलाई।
- ROUND_FLOOR: सधैं तलतिर गोलाई (ऋणात्मक संख्याहरू समेत)।
5. अन्य गोलाई विधिहरू:math.floor()
रmath.ceil()
math.floor()
:तल्लो भाग
math.floor()
फलनले दशमलव तलको मानलाई काटेर नजिकको पूर्णांकमा गोलो बनाउँछ। नकारात्मक संख्याहरूको अवस्थामा तलतिर गोलो बनाइन्छ।import math
print(math.floor(3.9)) # नतिजा: 3
math.ceil()
:माथि गोलो
एकतर्फ,math.ceil()
फलनले सधैं दशमलव तलको मानलाई माथि गोलो बनाउँछ।import math
print(math.ceil(3.1)) # नतिजा: 4
round()
सँगको भिन्नता
round()
नजिकको पूर्णांकमा गोलो बनाउँछ, जबकि math.floor()
र math.ceil()
सधैं एक दिशामा गोलो बनाउँछन्, जसले नतिजा अनुमान गर्न सजिलो बनाउँछ। नकारात्मक संख्याहरूको लागि पनि सही गोलाई आवश्यक परेमा, यी फलनहरू उपयोगी हुन्छन्।6. व्यावहारिक प्रयोगका उदाहरणहरू
मुद्रा गणनामा प्रयोग
मुद्रा गणनामा उच्च सटीकताको गणना आवश्यक हुन्छ। उदाहरणका लागि, कुल रकम वा छुटको गणनामाdecimal
मोड्युल प्रयोग गर्दा, सही रकम निकाल्न सकिन्छ।from decimal import Decimal, ROUND_HALF_UP
price = Decimal('19.995')
print(price.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)) # परिणाम: 20.00
वैज्ञानिक गणनामा प्रयोग
वैज्ञानिक गणनामा, फ्लोटिङ पोइन्ट संख्याको त्रुटि समस्या बनाउने कारणले,decimal
मोड्युल प्रयोग गरेर सही गणना गर्नु महत्त्वपूर्ण हुन्छ। मापन परिणाम र प्रयोगात्मक डेटा को सटीकता कायम राख्न यसले मद्दत गर्दछ।डेटा विश्लेषणमा प्रयोग
डेटा विश्लेषण गर्दा पनि, संख्यालाई उपयुक्त रूपमा गोलाई गरेर त्रुटि संचय नहोस् भन्ने कुरा आवश्यक हुन्छ। सांख्यिकीय डेटा र बिग डेटा को सङ्कलन गर्दाdecimal
वा round()
लाई उपयुक्त रूपमा प्रयोग गरेर, सही नतिजा प्राप्त गर्न सकिन्छ।7. सारांश
Python कोround()
फंक्शनले दशमलव तलको भागलाई सजिलै गोल्याउनको लागि उपयोगी उपकरण हो, तर विशेष गरी फ्लोटिङ पोइन्ट त्रुटिहरूमा ध्यान दिनु आवश्यक छ। वित्तीय गणना र वैज्ञानिक शुद्धता आवश्यक पर्ने परिस्थितिहरूमा, decimal
मोड्युललाई प्रयोग गरेर, गोल्याउने शुद्धता बढाउने कुरा महत्त्वपूर्ण छ। साथै, math.floor()
र math.ceil()
जस्ता अन्य गोल्याउने विधिहरूलाई पनि बुझेर, प्रयोगको आधारमा फरक-फरक प्रयोग गरेर, लचिलो संख्यात्मक प्रक्रिया सम्भव हुन्छ।