Kəsrlərin (rasional ədədlərin) kəsrlərlə hesablanması

Biznes

Standart Python kitabxanasının fraksiyalar modulundan istifadə edərək, kəsrlərlə (rasional ədədlər) hesablamalar apara bilərsiniz.

Aşağıdakılar burada izah olunur.

  • Fraksiya konstruktoru
  • Tam ədədlər kimi pay və məxrəc dəyərlərini alın
  • Kəsrlərin hesablanması və müqayisəsi (rasional ədədlər)
  • Kəsrlərin ondalığa çevrilməsi (float)
  • Kəsrin sətirə (str) çevrilməsi
  • Rasional ədədlərin yaxınlaşmasını əldə edin

Fraksiya konstruktoru

Fraksiya nümunəsi yaratmağın bir neçə yolu var. Bütün hallarda kəsr avtomatik olaraq kəsrlərə bölünür.

Say və məxrəci tam ədədlər kimi göstərin

Müvafiq olaraq, pay və məxrəci tam ədədlər kimi göstərin. Məxrəc buraxılıbsa, onun 1 olduğu qəbul edilir.

from fractions import Fraction

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

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

print(Fraction(3))
# 3

onluq kəsr(float)

Əgər kəsr dəyəri keçərsə, o kəsrə çevrilir.

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984

Maksimum məxrəci təyin etməklə təxmini hesablamaq istəyirsinizsə, aşağıda təsvir olunan limit_denominator() metodundan istifadə edin.

simvol sətri(str)

Əgər sətir dəyəri ötürülürsə, o, kəsrə çevrilir.

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

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

Tam ədədlər kimi pay və məxrəc dəyərlərini alın

Fraksiya tipli atributlar müvafiq olaraq pay və məxrəc üçün tam qiymətlər almağa imkan verir. Onlar dəyişdirilə bilməz.

  • 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

Kəsrlərin hesablanması və müqayisəsi (rasional ədədlər)

Arifmetik operatorlardan toplama, çıxma və s.

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

Müqayisə operatorlarından da istifadə etmək olar.

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

Kəsrlərin ondalığa çevrilməsi (float)

float() ilə kəsrlərdən ondalığa çevirə bilər.

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

Onluq rəqəmlə hesablandıqda avtomatik olaraq float tipinə çevrilir.

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

Kəsrin sətirə (str) çevrilməsi

Sətirə çevirmək üçün str() istifadə edin.

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

Rasional ədədlərin yaxınlaşmasını əldə edin

Rasional ədədlərin yaxınlaşması Fraction tipli limit_məxrəc() metodu ilə əldə edilə bilər.

Məxrəci max_məxrəc arqumentindən kiçik və ya ona bərabər olan rasional ədədi (kəsiri) qaytarır. Buraxılıbsa, max_məxrəc=1000000.

Pi və Napier sayı e kimi təxmini irrasional ədədlər

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

Dairəvi onluqları kəsrlərə çevirin

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
Copied title and URL