Gamit ang module ng mga fraction ng karaniwang library ng Python, maaari kang magsagawa ng mga kalkulasyon gamit ang mga fraction (mga rational na numero).
Ang mga sumusunod ay ipinaliwanag dito.
- Tagabuo ng Fraction
- Kunin ang mga halaga ng numerator at denominator bilang mga integer
- Pag-compute at paghahambing ng mga fraction (mga rational na numero)
- Pag-convert ng mga fraction sa mga decimal (float)
- Fraction sa string (str) conversion
- Kumuha ng pagtatantya ng rasyonal na numero
Tagabuo ng Fraction
Mayroong ilang mga paraan upang lumikha ng isang halimbawa ng Fraction. Sa lahat ng kaso, ang fraction ay awtomatikong nahahati sa mga fraction.
Tukuyin ang numerator at denominator bilang mga integer
Tukuyin ang numerator at denominator bilang mga integer, ayon sa pagkakabanggit. Kung ang denominator ay tinanggal, ito ay ipinapalagay na 1.
from fractions import Fraction print(Fraction(1, 3)) # 1/3 print(Fraction(2, 6)) # 1/3 print(Fraction(3)) # 3
decimal fraction(float)
Kung ang isang fractional na halaga ay naipasa, ito ay na-convert sa isang fraction.
print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984
Kung gusto mong tantiyahin sa pamamagitan ng pagtukoy ng maximum denominator, gamitin ang limit_denominator() na paraan na inilarawan sa ibaba.
string ng character(str)
Kung ang isang string value ay naipasa, ito ay mako-convert sa isang fraction.
print(Fraction('2/5')) # 2/5 print(Fraction('16/48')) # 1/3
Kunin ang mga halaga ng numerator at denominator bilang mga integer
Ang mga katangian ng uri ng Fraction ay nagbibigay-daan sa iyo na makakuha ng mga halaga ng integer para sa numerator at denominator, ayon sa pagkakabanggit. Hindi sila mababago.
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
Pag-compute at paghahambing ng mga fraction (mga rational na numero)
Maaaring gamitin ang mga operator ng aritmetika upang kalkulahin ang karagdagan, pagbabawas, atbp.
result = Fraction(1, 6) ** 2 + Fraction(1, 3) / Fraction(1, 2) print(result) print(type(result)) # 25/36 # <class 'fractions.Fraction'>
Maaari ding gamitin ang mga operator ng paghahambing.
print(Fraction(7, 13) > Fraction(8, 15)) # True
Pag-convert ng mga fraction sa mga decimal (float)
Maaaring mag-convert mula sa mga fraction sa mga decimal na may float().
a_f = float(a) print(a_f) print(type(a_f)) # 0.3333333333333333 # <class 'float'>
Kapag kinakalkula gamit ang isang decimal na numero, awtomatiko itong mako-convert sa isang uri ng float.
b = a + 0.1 print(b) print(type(b)) # 0.43333333333333335 # <class 'float'>
Fraction sa string (str) conversion
Upang mag-convert sa isang string, gamitin ang str().
a_s = str(a) print(a_s) print(type(a_s)) # 1/3 # <class 'str'>
Kumuha ng pagtatantya ng rasyonal na numero
Ang pagtatantya ng rational na numero ay maaaring makuha gamit ang paraan na limit_denominator() ng uri ng Fraction.
Ibinabalik ang rational number (fraction) na ang denominator ay mas mababa sa o katumbas ng argument na max_denominator. Kung aalisin, max_denominator=1000000.
Tinatayang irrational na mga numero tulad ng pi at 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
I-convert ang mga pabilog na decimal sa mga fraction
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