Llogaritja e thyesave (numrat racional) me thyesa

biznes

Duke përdorur modulin e fraksioneve të bibliotekës standarde Python, mund të kryeni llogaritjet me fraksione (numra racional).

Më poshtë shpjegohet këtu.

  • Konstruktori i Fraksionit
  • Merrni vlerat e numëruesit dhe të emëruesit si numra të plotë
  • Llogaritja dhe krahasimi i thyesave (numrat racional)
  • Shndërrimi i thyesave në dhjetore (float)
  • Shndërrimi i fraksionit në varg (str).
  • Merrni përafrimin e numrave racionalë

Konstruktori i Fraksionit

Ka disa mënyra për të krijuar një shembull Fraksioni. Në të gjitha rastet, thyesa ndahet automatikisht në thyesa.

Përcaktoni numëruesin dhe emëruesin si numra të plotë

Përcaktoni përkatësisht numëruesin dhe emëruesin si numra të plotë. Nëse emëruesi hiqet, supozohet se është 1.

from fractions import Fraction

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

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

print(Fraction(3))
# 3

thyesë dhjetore(float)

Nëse kalohet një vlerë fraksionale, ajo shndërrohet në fraksion.

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984

Nëse dëshironi të përafroheni duke specifikuar një emërues maksimal, përdorni metodën limit_emëruesi() të përshkruar më poshtë.

varg karakteresh(str)

Nëse kalohet një vlerë e vargut, ajo konvertohet në një fraksion.

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

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

Merrni vlerat e numëruesit dhe të emëruesit si numra të plotë

Atributet e tipit Fraction ju lejojnë të merrni vlera të plota për numëruesin dhe emëruesin, përkatësisht. Ato nuk mund të ndryshohen.

  • 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

Llogaritja dhe krahasimi i thyesave (numrat racional)

Operatorët aritmetikë mund të përdoren për të llogaritur mbledhjen, zbritjen, etj.

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

Mund të përdoren gjithashtu operatorë krahasues.

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

Shndërrimi i thyesave në dhjetore (float)

Mund të konvertohet nga thyesat në dhjetore me float().

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

Kur llogaritet me një numër dhjetor, ai konvertohet automatikisht në një tip float.

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

Shndërrimi i fraksionit në varg (str).

Për të kthyer në një varg, përdorni str().

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

Merrni përafrimin e numrave racionalë

Një përafrim i numrit racional mund të merret me metodën limit_emëruesi() të tipit Fraction.

Jep numrin racional (fraksionin) emëruesi i të cilit është më i vogël ose i barabartë me argumentin max_emëruesi. Nëse hiqet, max_emëruesi=1000000.

Numra të përafërt irracionalë si numri pi dhe 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

Shndërroni dhjetoret rrethore në thyesa

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