भिन्नों के साथ भिन्न (परिमेय संख्या) की गणना

व्यापार

मानक पायथन पुस्तकालय के भिन्न मॉड्यूल का उपयोग करके, आप अंशों (तर्कसंगत संख्याओं) के साथ गणना कर सकते हैं।

निम्नलिखित यहाँ समझाया गया है।

  • अंश का निर्माता
  • अंश और हर मान को पूर्णांक के रूप में प्राप्त करें
  • भिन्नों की गणना और तुलना करना (परिमेय संख्याएं)
  • भिन्नों को दशमलव में बदलना (फ्लोट)
  • स्ट्रिंग (str) रूपांतरण के लिए अंश
  • परिमेय संख्या सन्निकटन प्राप्त करें

अंश का निर्माता

फ्रैक्शन इंस्टेंस बनाने के कई तरीके हैं। सभी मामलों में, अंश स्वचालित रूप से भिन्नों में विभाजित हो जाता है।

अंश और हर को पूर्णांक के रूप में निर्दिष्ट करें

अंश और हर को क्रमशः पूर्णांक के रूप में निर्दिष्ट करें। यदि भाजक को हटा दिया जाता है, तो इसे 1 माना जाता है।

from fractions import Fraction

print(Fraction(1, 3))
# 1/3

print(Fraction(2, 6))
# 1/3

print(Fraction(3))
# 3

दशमलव अंश(float)

यदि एक भिन्नात्मक मान पारित किया जाता है, तो इसे भिन्न में बदल दिया जाता है।

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984

यदि आप अधिकतम हर निर्दिष्ट करके अनुमान लगाना चाहते हैं, तो नीचे वर्णित limit_denominator() विधि का उपयोग करें।

वर्ण स्ट्रिंग(str)

यदि एक स्ट्रिंग मान पारित किया जाता है, तो इसे एक अंश में बदल दिया जाता है।

print(Fraction('2/5'))
# 2/5

print(Fraction('16/48'))
# 1/3

अंश और हर मान को पूर्णांक के रूप में प्राप्त करें

भिन्न प्रकार के गुण आपको क्रमशः अंश और हर के लिए पूर्णांक मान प्राप्त करने की अनुमति देते हैं। उन्हें बदला नहीं जा सकता।

  • numerator
  • denominator
a = Fraction(1, 3)
print(a)
# 1/3

print(a.numerator)
print(type(a.numerator))
# 1
# <class 'int'>

print(a.denominator)
print(type(a.denominator))
# 3
# <class 'int'>

# a.numerator = 7
# AttributeError: can't set attribute

भिन्नों की गणना और तुलना करना (परिमेय संख्याएं)

अंकगणित ऑपरेटरों का उपयोग जोड़, घटाव आदि की गणना के लिए किया जा सकता है।

result = Fraction(1, 6) ** 2 + Fraction(1, 3) / Fraction(1, 2)
print(result)
print(type(result))
# 25/36
# <class 'fractions.Fraction'>

तुलना ऑपरेटरों का भी उपयोग किया जा सकता है।

print(Fraction(7, 13) > Fraction(8, 15))
# True

भिन्नों को दशमलव में बदलना (फ्लोट)

फ्लोट() के साथ भिन्न से दशमलव में परिवर्तित कर सकते हैं।

a_f = float(a)
print(a_f)
print(type(a_f))
# 0.3333333333333333
# <class 'float'>

जब दशमलव संख्या के साथ गणना की जाती है, तो यह स्वचालित रूप से एक फ्लोट प्रकार में परिवर्तित हो जाती है।

b = a + 0.1
print(b)
print(type(b))
# 0.43333333333333335
# <class 'float'>

स्ट्रिंग (str) रूपांतरण के लिए अंश

स्ट्रिंग में कनवर्ट करने के लिए, str() का उपयोग करें।

a_s = str(a)
print(a_s)
print(type(a_s))
# 1/3
# <class 'str'>

परिमेय संख्या सन्निकटन प्राप्त करें

एक परिमेय संख्या सन्निकटन प्रकार भिन्न के लिमिट_डिनोमिनेटर () विधि से प्राप्त किया जा सकता है।

वह परिमेय संख्या (अंश) लौटाता है, जिसका हर तर्क max_denominator से कम या उसके बराबर है। अगर छोड़ा गया है, तो max_denominator=1000000.

अनुमानित अपरिमेय संख्याएँ जैसे pi और नेपियर संख्या e

pi = Fraction(3.14159265359)
print(pi)
# 3537118876014453/1125899906842624

print(pi.limit_denominator(10))
print(pi.limit_denominator(100))
print(pi.limit_denominator(1000))
# 22/7
# 311/99
# 355/113

e = Fraction(2.71828182846)
print(e)
# 6121026514870223/2251799813685248

print(e.limit_denominator(10))
print(e.limit_denominator(100))
print(e.limit_denominator(1000))
# 19/7
# 193/71
# 1457/536

वृत्ताकार दशमलव को भिन्नों में बदलें

a = Fraction(0.565656565656)
print(a)
# 636872674577009/1125899906842624

print(a.limit_denominator())
# 56/99

a = Fraction(0.3333)
print(a)
# 6004199023210345/18014398509481984

print(a.limit_denominator())
print(a.limit_denominator(100))
# 3333/10000
# 1/3