Exemplo n.º 1
0
def valeurs(pyromax):  # crée les valeurs aléatoires pour l'équation
    while True:
        coefs = [Arithmetique.valeur_alea(-pyromax, pyromax) for i in range(6)]
        sgn = Arithmetique.valeur_alea(-1, 1)
        if sgn > 0:
            signe = "+"
        else:
            signe = "-"
        while True:
            while True:
                dens = [Arithmetique.valeur_alea(2, 9) for i in range(3)]
                if dens[0] != dens[1] and dens[0] != dens[2] and dens[1] != \
                    dens[2]:
                    break
            ppcm = Arithmetique.ppcm(dens[0], Arithmetique.ppcm(dens[1], dens[2]))
            densprim = [ppcm // dens[i] for i in range(3)]
            if densprim[0] < 10 and densprim[1] < 10 and densprim[2] < \
                10:
                break

        nvxcoefs = [coefs[i] * densprim[i // 2] for i in range(6)]
        if (nvxcoefs[0] + nvxcoefs[2] * sgn) - nvxcoefs[4] != 0:
            break
    return (tuple(coefs), tuple(dens), tuple(densprim), (signe, sgn),
            tuple(nvxcoefs))
Exemplo n.º 2
0
def valeurs(pyromax):  # crée les valeurs aléatoires pour l'équation
    while True:
        coefs = [Arithmetique.valeur_alea(-pyromax, pyromax) for i in range(6)]
        sgn = Arithmetique.valeur_alea(-1, 1)
        if sgn > 0:
            signe = "+"
        else:
            signe = "-"
        while True:
            while True:
                dens = [Arithmetique.valeur_alea(2, 9) for i in range(3)]
                if dens[0] != dens[1] and dens[0] != dens[2] and dens[1] != \
                    dens[2]:
                    break
            ppcm = Arithmetique.ppcm(dens[0],
                                     Arithmetique.ppcm(dens[1], dens[2]))
            densprim = [ppcm // dens[i] for i in range(3)]
            if densprim[0] < 10 and densprim[1] < 10 and densprim[2] < \
                10:
                break

        nvxcoefs = [coefs[i] * densprim[i // 2] for i in range(6)]
        if (nvxcoefs[0] + nvxcoefs[2] * sgn) - nvxcoefs[4] != 0:
            break
    return (tuple(coefs), tuple(dens), tuple(densprim), (signe, sgn),
            tuple(nvxcoefs))
Exemplo n.º 3
0
def valeurs_prod():
    while 1:
        nba = Arithmetique.valeur_alea(101, 9999)
        if nba - (nba // 10) * 10:
            break
    puisa = Arithmetique.valeur_alea(-3, -1)
    while 1:
        nbb = Arithmetique.valeur_alea(101, 999)
        if nbb - (nbb // 10) * 10:
            break
    puisb = Arithmetique.valeur_alea(-3, -1)
    return (nba, nbb, puisa, puisb)
Exemplo n.º 4
0
def valeurs_prod():
    while 1:
        nba = Arithmetique.valeur_alea(101, 9999)
        if nba - (nba // 10) * 10:
            break
    puisa = Arithmetique.valeur_alea(-3, -1)
    while 1:
        nbb = Arithmetique.valeur_alea(101, 999)
        if nbb - (nbb // 10) * 10:
            break
    puisb = Arithmetique.valeur_alea(-3, -1)
    return (nba, nbb, puisa, puisb)
Exemplo n.º 5
0
def valeurs_units():
    """
    renvoie les valeurs pour les conversions d'unités
    """

    a = Arithmetique.valeur_alea(101, 999)
    p = random.randrange(-2, 0)
    unit = random.randrange(3)
    if unit:
        # mètres ou grammes, on peut utiliser les k
        imax = 7
    else:
        # Litres, donc pas de kL
        imax = 6

    div0 = random.randrange(imax + p)

    while 1:
        div1 = random.randrange(imax)
        if div0 != div1:
            break

    if not unit:  # Litres, donc pas de kL donc on décale d'un rang
        div0, div1 = div0 + 1, div1 + 1

    return (a, p, unit, div0, div1)
Exemplo n.º 6
0
def valeurs_units():
    """
    renvoie les valeurs pour les conversions d'unités
    """

    a = Arithmetique.valeur_alea(101, 999)
    p = random.randrange(-2, 0)
    unit = random.randrange(3)
    if unit:
        # mètres ou grammes, on peut utiliser les k
        imax = 7
    else:
        # Litres, donc pas de kL
        imax = 6

    div0 = random.randrange(imax + p)

    while 1:
        div1 = random.randrange(imax)
        if div0 != div1:
            break

    if not unit:  # Litres, donc pas de kL donc on décale d'un rang
        div0, div1 = div0 + 1, div1 + 1

    return (a, p, unit, div0, div1)
Exemplo n.º 7
0
def valeurs_entier0(pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    a = carres[random.randrange(len(carres))]
    while True:
        b = random.randrange(2, pyromax)
        c = Arithmetique.valeur_alea(-pyromax, pyromax)
        if b != c and abs(c) != 1:
            break
    return (b, c, a)
Exemplo n.º 8
0
def valeurs_entier0(
        pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    a = carres[random.randrange(len(carres))]
    while True:
        b = random.randrange(2, pyromax)
        c = Arithmetique.valeur_alea(-pyromax, pyromax)
        if b != c and abs(c) != 1:
            break
    return (b, c, a)
Exemplo n.º 9
0
def valeurs_aRb0(pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    a = carres
    l = [Arithmetique.valeur_alea(-pyromax, pyromax) for dummy in range(3)]
    while True:
        t = [random.randrange(2, pyromax) for dummy in range(3)]
        if pyromax < 4 or t[0] != t[1] and t[0] != t[2] and t[1] != t[2]:
            break
    l.extend(t)
    l.append(a[random.randrange(len(a))])
    return tuple(l)
Exemplo n.º 10
0
def valeurs_aRb0(
        pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    a = carres
    l = [Arithmetique.valeur_alea(-pyromax, pyromax) for dummy in range(3)]
    while True:
        t = [random.randrange(2, pyromax) for dummy in range(3)]
        if pyromax < 4 or t[0] != t[1] and t[0] != t[2] and t[1] != t[2]:
            break
    l.extend(t)
    l.append(a[random.randrange(len(a))])
    return tuple(l)
Exemplo n.º 11
0
def valeurs10(nb):  # renvoie nb valeur de chaque type : *10, /10, *0.1
    l = []
    for i in range(nb):
        if random.randrange(0, 1):
            l.append((Arithmetique.valeur_alea(111, 999) * 10 ** random.randrange(-3,
                     0), 10 ** (i + 1), '*'))
        else:
            l.append((10 ** (i + 1), Arithmetique.valeur_alea(111, 999) * 10 ** 
                     random.randrange(-3, 0), '*'))
    for i in range(nb):
        l.append((Arithmetique.valeur_alea(111, 999) * 10 ** random.randrange(-3,
                 0), 10 ** (i + 1), '/'))
    for i in range(nb):
        if random.randrange(0, 1):
            l.append((Arithmetique.valeur_alea(111, 999) * 10 ** random.randrange(-3,
                     0), 10 ** (-i - 1), '*'))
        else:
            l.append((10 ** (-i - 1), Arithmetique.valeur_alea(111, 999) * 10 ** 
                     random.randrange(-3, 0), '*'))
    return l
Exemplo n.º 12
0
def valeurs_aPbRc(pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    while True:
        a = carres[random.randrange(len(carres))]
        b = carres[random.randrange(len(carres))]
        if a != b and Arithmetique.pgcd(a, b) != min(a, b):
            break
    while True:
        c = random.randrange(2, pyromax)
        d = Arithmetique.valeur_alea(-pyromax, pyromax)
        if c != d:
            break
    return (c, a, d, b)
Exemplo n.º 13
0
def valeurs10(nb):  # renvoie nb valeur de chaque type : *10, /10, *0.1
    l = []
    for i in range(nb):
        if random.randrange(0, 1):
            l.append((Arithmetique.valeur_alea(111, 999) *
                      10**random.randrange(-3, 0), 10**(i + 1), '*'))
        else:
            l.append((10**(i + 1), Arithmetique.valeur_alea(111, 999) *
                      10**random.randrange(-3, 0), '*'))
    for i in range(nb):
        l.append(
            (Arithmetique.valeur_alea(111, 999) * 10**random.randrange(-3, 0),
             10**(i + 1), '/'))
    for i in range(nb):
        if random.randrange(0, 1):
            l.append((Arithmetique.valeur_alea(111, 999) *
                      10**random.randrange(-3, 0), 10**(-i - 1), '*'))
        else:
            l.append((10**(-i - 1), Arithmetique.valeur_alea(111, 999) *
                      10**random.randrange(-3, 0), '*'))
    return l
Exemplo n.º 14
0
def valeurs_aPbRc(
        pyromax):  # renvoie (coef0, coef1, coef2, carre0, carre1, carre2, b)
    while True:
        a = carres[random.randrange(len(carres))]
        b = carres[random.randrange(len(carres))]
        if a != b and Arithmetique.pgcd(a, b) != min(a, b):
            break
    while True:
        c = random.randrange(2, pyromax)
        d = Arithmetique.valeur_alea(-pyromax, pyromax)
        if c != d:
            break
    return (c, a, d, b)
Exemplo n.º 15
0
def choix_valeurs(m):  # crée les valeurs du systeme de la forme a1.x+b1.y=c1 ; a2.x+b2.y=c2 et renvoie ((a1, b1, c1), (a2, b2, c2), (x, y))
    while True:
        c = [Arithmetique.valeur_alea(-m, m) for dummy in range(6)]
        if c[0] * c[3] - c[1] * c[2] and abs(c[0]) - 1 and abs(c[1]) - 1 and \
            abs(c[2]) - 1 and abs(c[3]) - 1 and abs(c[1] * c[2] - c[0] *
                c[3]) - 1 and abs(c[0]) - abs(c[2]) and abs(c[1]) - abs(c[3]) and \
            c[4] and c[5]:
            break

            # supprime des cas particuliers

    return ((c[0], c[1], c[0] * c[4] + c[1] * c[5]), (c[2], c[3], c[2] *
            c[4] + c[3] * c[5]), (c[4], c[5]))
Exemplo n.º 16
0
def choix_valeurs(
    m
):  # crée les valeurs du systeme de la forme a1.x+b1.y=c1 ; a2.x+b2.y=c2 et renvoie ((a1, b1, c1), (a2, b2, c2), (x, y))
    while True:
        c = [Arithmetique.valeur_alea(-m, m) for dummy in range(6)]
        if c[0] * c[3] - c[1] * c[2] and abs(c[0]) - 1 and abs(c[1]) - 1 and \
            abs(c[2]) - 1 and abs(c[3]) - 1 and abs(c[1] * c[2] - c[0] *
                c[3]) - 1 and abs(c[0]) - abs(c[2]) and abs(c[1]) - abs(c[3]) and \
            c[4] and c[5]:
            break

            # supprime des cas particuliers

    return ((c[0], c[1], c[0] * c[4] + c[1] * c[5]),
            (c[2], c[3], c[2] * c[4] + c[3] * c[5]), (c[4], c[5]))
Exemplo n.º 17
0
def valeurs():
    nba = Arithmetique.valeur_alea(111, 99999)
    while 1:
        nbb = Arithmetique.valeur_alea(111, 99999)
        if nbb - (nbb // 10) * 10:
            break
    puisb = Arithmetique.valeur_alea(-2, 0)
    nbb = nbb * 10 ** puisb
    deca = [str(nba)[i] for i in range(len(str(nba)))]
    decb = [str(nbb)[i] for i in range(len(str(nbb)))]
    if random.randrange(2):
        (nba, deca, nbb, decb) = (nbb, decb, nba, deca)
    if deca.count('.'):
        posa = deca.index('.')
    else:
        posa = len(deca)
    if decb.count('.'):
        posb = decb.index('.')
    else:
        posb = len(decb)

    lavtvirg = max(posa, posb)
    laprvirg = max(len(deca) - posa, len(decb) - posb)
    return (nba, nbb, deca, decb, lavtvirg, laprvirg)
Exemplo n.º 18
0
def valeurs():
    nba = Arithmetique.valeur_alea(111, 99999)
    while 1:
        nbb = Arithmetique.valeur_alea(111, 99999)
        if nbb - (nbb // 10) * 10:
            break
    puisb = Arithmetique.valeur_alea(-2, 0)
    nbb = nbb * 10**puisb
    deca = [str(nba)[i] for i in range(len(str(nba)))]
    decb = [str(nbb)[i] for i in range(len(str(nbb)))]
    if random.randrange(2):
        (nba, deca, nbb, decb) = (nbb, decb, nba, deca)
    if deca.count('.'):
        posa = deca.index('.')
    else:
        posa = len(deca)
    if decb.count('.'):
        posb = decb.index('.')
    else:
        posb = len(decb)

    lavtvirg = max(posa, posb)
    laprvirg = max(len(deca) - posa, len(decb) - posb)
    return (nba, nbb, deca, decb, lavtvirg, laprvirg)
Exemplo n.º 19
0
def plus(pyromax):
    (a, b) = (Arithmetique.valeur_alea(-pyromax, pyromax), Arithmetique.valeur_alea(-pyromax,
              pyromax))
    return (a, b)
Exemplo n.º 20
0
def div(pyromax):
    (a, b) = (Arithmetique.valeur_alea(-pyromax, pyromax),
              Arithmetique.valeur_alea(-pyromax, pyromax))
    return (a * b, a)
Exemplo n.º 21
0
def div(pyromax):
    (a, b) = (Arithmetique.valeur_alea(-pyromax, pyromax), Arithmetique.valeur_alea(-pyromax,
              pyromax))
    return (a * b, a)
Exemplo n.º 22
0
def div(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax),
              Arithmetique.valeur_alea(1, valeurmax))
    return (a * b, a)
Exemplo n.º 23
0
def moins(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax),
              Arithmetique.valeur_alea(1, valeurmax))
    return (a + b, a)
Exemplo n.º 24
0
def plus(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax),
              Arithmetique.valeur_alea(1, valeurmax))
    return (a, b)
Exemplo n.º 25
0
def moins(pyromax):
    (a, b) = (Arithmetique.valeur_alea(-pyromax, pyromax), Arithmetique.valeur_alea(-pyromax,
              pyromax))
    return (a + b, a)
Exemplo n.º 26
0
def moins(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax), Arithmetique.valeur_alea(1,
              valeurmax))
    return (a + b, a)
Exemplo n.º 27
0
def div(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax), Arithmetique.valeur_alea(1,
              valeurmax))
    return (a * b, a)
Exemplo n.º 28
0
def moins_dec(pyromax):
    (a, b) = (Arithmetique.valeur_alea(-10 * pyromax, 10 * pyromax) / 10.0, Arithmetique.valeur_alea(-10 * pyromax, 10 * pyromax) / 10.0)
    return (a + b, a)
Exemplo n.º 29
0
def plus(valeurmax):
    (a, b) = (Arithmetique.valeur_alea(1, valeurmax), Arithmetique.valeur_alea(1,
              valeurmax))
    return (a, b)