Documentation de Pyromaths 15.02

2.1. Fractions — Nombres rationnels

«  2. Les classes de Pyromaths   ::   Contenu   ::   2.2. PolynomesCollege — Fonctions polynômes  »

2.1. Fractions — Nombres rationnels

Le module Fractions définit la classe Fractions qui permet de faire des calculs détaillés avec des nombres en écriture fractionnaire.

Un objet Fractions est construit à partir de son numérateur et son dénominateur.

class pyromaths.classes.Fractions.Fraction(n, d=1, code='')[source]

Cette classe crée la notion de fractions. code permet de préciser si une décomposition a pour objectif une mise au même dénominateur ‘r’ ou une simplification ‘s’

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction(5,6)
Fraction(5, 6)
>>> Fraction('x',6)
Fraction("x", 6)
>>> Fraction(3.4)
Fraction(34, 10)
>>> Fraction(3.0, 4.0)
Fraction(3, 4)
>>> Fraction(Fraction(1,3))
Fraction(1, 3)
__abs__()[source]

Renvoie la valeur absolue d’une fraction

__add__(*others)[source]

object.__add__(other)

p.__add__(q) est équivalent à p + q calcule la somme de deux fractions.

other peut être une chaîne représentant une fraction, un entier ou un réel.

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction(2,5) + Fraction(2,10)
'Fraction("2*2", "5*2", "r")+Fraction(2, 10)'
>>> Fraction(2,20) + Fraction(2,10)
'Fraction(2, 20)+Fraction("2*2", "10*2", "r")'
>>> Fraction(5,10) + Fraction(2,10)
Fraction(7, 10)
>>> Fraction(5,7) + Fraction(2,10)
'Fraction("5*10", "7*10", "r")+Fraction("2*7", "10*7", "r")'
Param :other
Type :Fraction ou string
Type retourné:Fraction ou string

TODO : Attention, 1+3/4 donne 1*4/1*4 + 3/4 à la place de 4/4+3/4. À corriger

__div__(other)[source]

object.__div__(other)

p.__div__(q) est équivalent à p / q calcule le quotient de deux fractions.

other peut être une chaîne représentant une fraction, un entier ou un réel.

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction(2,5) / Fraction(10,2)
'Fraction(2, 5)*Fraction(2, 10)'
>>> Fraction(2,5) / 4
'Fraction(2, 5)*Fraction(1, 4)'
Param :other
Type :Fraction ou string
Type retourné:Fraction ou string
__invert__()[source]

__invert__(self)

__invert__(p) est équivalent à ~p calcule l’inverse de la fraction p.

>>> from pyromaths.classes.Fractions import Fraction
>>> ~Fraction(8,27)
Fraction(27, 8)
__mul__(*others)[source]

object.__mul__(other)

p.__mul__(q) est équivalent à p * q calcule le produit deux fractions.

other peut être une chaîne représentant une fraction, un entier ou un réel.

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction(2,5) * Fraction(2,10)
Fraction("2*2", "5*2*5", "s")
>>> Fraction(2,5) * 4
Fraction(8, 5)
>>> Fraction(63,20) * Fraction(8,27)
Fraction("9*7*4*2", "4*5*9*3", "s")
>>> Fraction(24,12) * 12
Fraction("24*12", "12*1", "s")
>>> 12*Fraction(24,12)
Fraction("12*24", "1*12", "s")
Param :other
Type :Fraction ou string
Type retourné:Fraction ou string
__neg__()[source]

__neg__(self)

__neg__(p) est équivalent à -p calcule l’opposé de la fraction p.

>>> from pyromaths.classes.Fractions import Fraction
>>> -Fraction(8,27)
Fraction(-8, 27)
__pos__()[source]

__pos__(self)

__pos__(p) est équivalent à +p Renvoie la fraction p.

>>> from pyromaths.classes.Fractions import Fraction
>>> +Fraction(8,27)
Fraction(8, 27)
__pow__(n)[source]

__pow__(self, n)

p__pow__(q) est équivalent à p**q calcule p à la puissance q.

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction(2,3)**4
Fraction(16, 81)
Param :n
Type :Integer
Type retourné:Fraction
__radd__(other)[source]

object.__radd__(other)

p.__radd__(q) est équivalent à p + q calcule la somme de l’objet p avec la fraction q

other peut être une chaîne représentant un entier ou un réel.

>>> from pyromaths.classes.Fractions import Fraction
>>> 3 + Fraction(2,5)
'Fraction("3*5", "1*5", "r")+Fraction(2, 5)'
Param :other
Type :real ou integer
Type retourné:string
__rdiv__(other)[source]

object.__rdiv__(other)

p.__rdiv__(q) est équivalent à p / q calcule le produit de l’objet p par la fraction q.

other peut être un entier ou un réel.

>>> from pyromaths.classes.Fractions import Fraction
>>> 1/Fraction(1,3)
'1*Fraction(3, 1)'

Pour plus de détails, voir __radd__()

__repr__()[source]

repr(object)

Renvoie une chaîne de caractère représentant une Fraction évaluable pour créer un Fraction.

>>> from pyromaths.classes.Fractions import Fraction
>>> repr(Fraction(5,6))
'Fraction(5, 6)'
>>> repr(Fraction('-72*2', '11*2', 'r'))
'Fraction("-72*2", "11*2", "r")'
>>> repr(Fraction('-72*2', '11*2', 's'))
'Fraction("-72*2", "11*2", "s")'
Type retourné:string
__rmul__(other)[source]

object.__rmul__(other)

p.__rmul__(q) est équivalent à p * q calcule le produit de l’objet p par la fraction q.

other peut être un entier ou un réel.

Pour plus de détails, voir __radd__()

__rsub__(other)[source]

object.__rsub__(other)

p.__rsub__(q) est équivalent à p - q calcule la différence de l’objet p par la fraction q.

other peut être un entier ou un réel.

Pour plus de détails, voir __radd__()

__str__()[source]

str(object)

Renvoie une version LaTeX de la Fraction.
>>> from pyromaths.classes.Fractions import Fraction
>>> str(Fraction(8,1))
'8'
>>> str(Fraction(5,6))
'\\dfrac{5}{6}'
>>> str(Fraction('-5*2', '3*2', 'r'))
'\\dfrac{-5_{\\times 2}}{3_{\\times 2}}'
>>> str(Fraction('5*-7*2', '11*2*5', 's'))
'\\dfrac{\\cancel{5}\\times \\left( -7\\right) \\times \\cancel{2}}{11\\times \\cancel{2}\\times \\cancel{5}}'
>>> str(Fraction('-144', '22', 's'))
'\\dfrac{-72\\times \\cancel{2}}{11\\times \\cancel{2}}'
>>> from pyromaths.classes.SquareRoot import SquareRoot
>>> str(Fraction(SquareRoot([[-10, None], [-1, 80]]), -2))
'\\dfrac{-10-\\sqrt{80}}{-2}'
>>> str(Fraction(SquareRoot([[-10, None], [-4, 5]]), -2, 's'))
'\\dfrac{\\left( 5+2\\,\\sqrt{5}\\right) \\times \\cancel{-2}}{1\\times \\cancel{-2}}'
Type retourné:string
__sub__(*others)[source]

object.__sub__(other)

p.__sub__(q) est équivalent à p - q calcule la différence de deux fractions.

other peut être une chaîne représentant une fraction, un entier ou un réel.

Pour plus de détails, voir __add__()

choix_denominateur(denominateur)[source]

Écrit la fraction self avec le dénominateur denominateur

decompose()[source]

decompose(object)

Retourne une décomposition de la fraction afin de la simplifier

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction.decompose(Fraction(8,20))
Fraction("2*4", "5*4", "s")
Paramètres:type – Fraction
Type retourné:Fraction
reduit()[source]

reduit(object)

Retourne une version réduite de la fraction, ie calcule le numérateur et le dénominateur

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction.reduit(Fraction(2*4,5*4))
Fraction(8, 20)
>>> Fraction.reduit(Fraction('2*4', '5*4'))
Fraction(8, 20)
Paramètres:type – Fraction
Type retourné:Fraction
simplifie()[source]

simplifie(object)

Retourne une version irréductible de la fraction

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction.simplifie(Fraction(2*4,5*4))
Fraction(2, 5)
>>> Fraction.simplifie(Fraction('2*4','5*4'))
Fraction(2, 5)
Paramètres:type – Fraction
Type retourné:Fraction
traitement(final=False)[source]

traitement(object,self)

Finit la mise au même dénominatuer ou la simplicfication de la fraction. Si final est vrai, alors essaie de simplifier la fraction.

>>> from pyromaths.classes.Fractions import Fraction
>>> Fraction("3*4", "3*7", "r").traitement()
Fraction(12, 21)
>>> Fraction("3*4", "3*7", "s").traitement()
Fraction(4, 7)
>>> Fraction(12, 21).traitement()
Fraction(12, 21)
>>> Fraction(12, 21).traitement(True)
Fraction("4*3", "7*3", "s")
Param :final
Type :boolean
Type retourné:Fraction

«  2. Les classes de Pyromaths   ::   Contenu   ::   2.2. PolynomesCollege — Fonctions polynômes  »