अपूर्णांकांसह (परिमेय संख्या) गणना करणे

व्यवसाय

मानक पायथन लायब्ररीचे अपूर्णांक मॉड्यूल वापरून, तुम्ही अपूर्णांक (परिमेय संख्या) सह गणना करू शकता.

येथे खाली स्पष्ट केले आहे.

  • अपूर्णांकाचा रचनाकार
  • पूर्णांक म्हणून अंश आणि भाजक मूल्ये मिळवा
  • अपूर्णांकांची गणना आणि तुलना करणे (परिमेय संख्या)
  • अपूर्णांकांना दशांश (फ्लोट) मध्ये रूपांतरित करणे
  • अपूर्णांक ते स्ट्रिंग (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'>

परिमेय संख्या अंदाजे मिळवा

परिमेय संख्या अंदाजे अपूर्णांक प्रकाराच्या पद्धती limit_denominator() सह मिळवता येते.

परिमेय संख्या (अपूर्णांक) मिळवते ज्याचा भाजक max_denominator पेक्षा कमी किंवा समान आहे. वगळल्यास, max_denominator=1000000.

अंदाजे अपरिमेय संख्या जसे की pi आणि Napier number 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