def __str__(self): if isinstance(self.numerateur,str): #utilisé dans le détail de la simplification numerateur=self.numerateur else: numerateur=decimaux(self.numerateur)*(self.numerateur!=0) #renvoie "" si self.numerateur=0 if self.radicande!=0: if isinstance(self.coeff,str):#utilisé dans le détail de la simplification if self.coeff[0]!="-" and self.coeff[0]!="+": numerateur+="+" numerateur+=self.coeff+"\\sqrt{"+decimaux(self.radicande)+"}" elif self.coeff==1: numerateur+="+\\sqrt{"+decimaux(self.radicande)+"}" elif self.coeff==-1: numerateur+="-\\sqrt{"+decimaux(self.radicande)+"}" else: numerateur+=tTeX(self.coeff)+"\\sqrt{"+decimaux(self.radicande)+"}" if numerateur=='': numerateur = '0' if self.denominateur==1: result=numerateur else: result="\\dfrac{%s}{%s}"%(numerateur,self.denominateur) if result[0]=='+': return result[1:] else: return result
def tTeX(n): if n==1: return "" elif n==-1: return "-" elif n>=0: return "+"+decimaux(n) else: return decimaux(n)
def TeX(nombre,parenthese=False,terme=False,fractex="\\dfrac"): '''renvoie une chaine de caractere pour TeX''' strTeX=finTeX="" #Affichage simplifié des racines ou fractions if isinstance(nombre,Racine.RacineDegre2) and nombre.radicande==0: #Affiche la RacineDegre2 comme une Fractions nombre=Fractions.Fractions(nombre.numerateur,nombre.denominateur) if isinstance(nombre,Fractions.Fractions) and nombre.denominateur==1: #Affiche la Fractions comme un entier nombre=nombre.numerateur #parentheses des fractions if parenthese and ( isinstance(nombre,Racine.RacineDegre2) and nombre.denominateur==1 and (nombre.numerateur or nombre.coeff<0 ) #RacineDegre2 avec radicande nécessairement grâce au tri or isinstance(nombre,Fractions.Fractions) and nombre.numerateur<0 or isinstance(nombre,int) and nombre<0 or isinstance(nombre,float) and nombre<0): strTeX="\\left(" finTeX="\\right)" elif terme and (isinstance(nombre,Racine.RacineDegre2) and (nombre.denominateur!=1 or (nombre.numerateur >0 or nombre.numerateur==0 and nombre.coeff>=0)) or nombre>=0) : strTeX="+" finTeX="" ##Affichage if nombre==float("inf"): return "+\\infty " elif nombre==float("-inf"): return "-\\infty " elif isinstance(nombre,int) or isinstance(nombre,float): return strTeX+decimaux(nombre)+finTeX elif isinstance(nombre,Fractions.Fractions): if nombre.numerateur < 0: strTeX += "-"+fractex+"{"+decimaux(-nombre.numerateur)+"}{"+decimaux(nombre.denominateur)+"} " else: strTeX += fractex+"{"+decimaux(nombre.numerateur)+"}{"+decimaux(nombre.denominateur)+"} " strTeX+=finTeX return strTeX elif isinstance(nombre,Racine.RacineDegre2): return strTeX+str(nombre)+finTeX else: return strTeX+str(nombre)+finTeX
def __str__(self): if self.coeff == 0: return "0" else: if self.coeff == 1: coeff = "" else: coeff = decimaux(self.coeff, 1) + " \\, " if self.radicande == 0: coeff = "" racine = "" radicande = "0" elif self.indice == 2: racine = "\\sqrt{" radicande = decimaux(self.radicande, 1) + "}" else: racine = "\\sqrt[{0}]{{".format(self.indice) radicande = decimaux(self.radicande, 1) + "}" return coeff + racine + radicande
def pTeX(n): """renvoie (n) si n<0""" if n<0: return "("+decimaux(n)+")" else: return decimaux(n)
def radicalTeX(n): return "\\sqrt{%s}"%(decimaux(n))