Nggunakake modul pecahan saka perpustakaan Python standar, sampeyan bisa nindakake petungan karo pecahan (nomer nyoto).
Ing ngisor iki diterangake ing kene.
- Konstruktor Fraksi
- Entuk angka numerator lan denominator minangka integer
- Ngetung lan mbandhingake pecahan (nomer rasional)
- Ngonversi pecahan dadi desimal (ngambang)
- Konversi pecahan menyang string (str).
- Entuk perkiraan angka rasional
Konstruktor Fraksi
Ana sawetara cara kanggo nggawe conto Fraksi. Ing kabeh kasus, pecahan kasebut kanthi otomatis dipérang dadi pecahan.
Nemtokake numerator lan denominator minangka integer
Nemtokake numerator lan denominator minangka integer. Yen denominator diilangi, dianggep dadi 1.
from fractions import Fraction print(Fraction(1, 3)) # 1/3 print(Fraction(2, 6)) # 1/3 print(Fraction(3)) # 3
pecahan desimal(float)
Yen nilai pecahan dilewati, diowahi dadi pecahan.
print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984
Yen sampeyan pengin kira-kira kanthi nemtokake denominator maksimum, nggunakake limit_denominator () cara diterangake ing ngisor iki.
string karakter(str)
Yen nilai string dilewati, diowahi dadi pecahan.
print(Fraction('2/5')) # 2/5 print(Fraction('16/48')) # 1/3
Entuk angka numerator lan denominator minangka integer
Atribut jinis Fraksi ngidini sampeyan entuk nilai integer kanggo numerator lan denominator. Padha ora bisa diganti.
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
Ngetung lan mbandhingake pecahan (nomer rasional)
Operator aritmetika bisa digunakake kanggo ngetung tambahan, nyuda, lsp.
result = Fraction(1, 6) ** 2 + Fraction(1, 3) / Fraction(1, 2) print(result) print(type(result)) # 25/36 # <class 'fractions.Fraction'>
Operator perbandingan uga bisa digunakake.
print(Fraction(7, 13) > Fraction(8, 15)) # True
Ngonversi pecahan dadi desimal (ngambang)
Bisa ngowahi saka pecahan kanggo decimals karo float ().
a_f = float(a) print(a_f) print(type(a_f)) # 0.3333333333333333 # <class 'float'>
Nalika diitung nganggo angka desimal, kanthi otomatis diowahi dadi jinis ngambang.
b = a + 0.1 print(b) print(type(b)) # 0.43333333333333335 # <class 'float'>
Konversi pecahan menyang string (str).
Kanggo ngowahi dadi senar, gunakake str ().
a_s = str(a) print(a_s) print(type(a_s)) # 1/3 # <class 'str'>
Entuk perkiraan angka rasional
A panyerakan nomer nyoto bisa dipikolehi karo metode limit_denominator () saka jinis Fraksi.
Ngasilake nomer rasional (fraksi) sing penyebute kurang saka utawa padha karo argumen max_denominator. Yen diilangi, max_denominator=1000000.
Angka irasional kira-kira kayata pi lan nomer Napier 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
Ngonversi desimal bunder dadi pecahan
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