コード例 #1
0
ファイル: Priorites3.py プロジェクト: jbreizh/actimaths
def post_polynomes(l_calcul):
    """Réduit les polynômes de la liste de calculs"""
    for k in range(len(l_calcul)):
        if 'Polynome(' in l_calcul[k]:
            p = eval(l_calcul[k])
            if Polynome.reductible(p):
                p = Polynome.reduction_detaillee(p)
                if isinstance(p, Polynome): l_calcul[k] = repr(p)
                else:
                    if isinstance(p, basestring): p = splitting(p)
                    if (k and l_calcul[k-1] in "*-") or (k<len(l_calcul)-1 and l_calcul[k+1] in "**"):
                        p.insert(0, "(")
                        p.append(")")
                    l_calcul[k:k+1] = p
    return l_calcul
コード例 #2
0
ファイル: Priorites3.py プロジェクト: jbreizh/actimaths
 def poly(entier):
     long = random.randrange(3)
     degre=[0, 1, 2]
     p = [[deci(entier), degre.pop(random.randrange(len(degre)))] for i in range(long+1)]
     p = Polynome(p, "x")
     while p == Polynome([[0, 0]], "x"):
         degre=[0, 1, 2]
         p = [[deci(entier), degre.pop(random.randrange(len(degre)))] for i in range(long+1)]
         p = Polynome(p, "x")
     if len(p) == 1 and Polynome.degre(p) == 0:
         p = p[0][0]
         if p < 0: p = "(" + str(p) +")"
         else: p = str(p)
     else: p = repr(p)
     return p