Commit b253cad5 authored by Jérôme Ortais's avatar Jérôme Ortais
Browse files

Utilisation de la bibliothèque decimal pour corriger un bug annoncé sur

le forum.
parent b2b14259
......@@ -22,6 +22,7 @@
# from pyromaths.outils import ecrit_tex, valeur_alea, signe, pgcd, ppcm
import random
from decimal import Decimal
from pyromaths.ex import LegacyExercise
def valeurs(nb, entier=1): # renvoie les 2 listes contenant les opérateurs et les opérandes.
......@@ -90,9 +91,9 @@ def valeurs(nb, entier=1): # renvoie les 2 listes contenant les opérateurs et
loperateurs.append(')')
p = p - 1
if entier:
loperandes = [random.randrange(12) + 2 for i in range(nb)]
loperandes = [Decimal(random.randrange(12) + 2) for i in range(nb)]
else:
loperandes = [(random.randrange(88) + 12) / 10 for i in range(nb)]
loperandes = [(Decimal(random.randrange(88) + 12)) / Decimal(10) for i in range(nb)]
return (loperateurs, loperandes)
......@@ -126,11 +127,12 @@ def affichage(loperateurs, loperandes):
def nb_decimal(a): # verifie si des nombres décimaux dans le tuple a sont en fait des nombres entiers et change leur type
liste = []
for i in range(len(a)):
if str(a[i]).endswith('.0'):
liste.append(int(a[i] + .1))
else:
liste.append(('{,}').join(str(a[i]).split('.', 2)))
liste = [('{,}').join(str(Decimal(e)).split('.',2)) for e in a]
# for i in range(len(a))
# if str(a[i]).endswith('.0'):
# liste.append(int(a[i] + .1))
# else:
# liste.append(('{,}').join(str(a[i]).split('.', 2)))
return tuple(liste)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment