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