Ngetung pecahan (nomer rasional) karo pecahan

Bisnis

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