bug dans cinquiemes/statistiques.py

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur: Développeurs

bug dans cinquiemes/statistiques.py

Messagede djinn » Mer 10 Avr 2013, 19:00

Salut à tous,

Je me suis mis dans l'idée de déplacer le code du package python pyromaths, jusqu'ici situé dans src/, dans un dossier nommé pyromaths (en fait: src/pyromaths/) afin de respecter le standard python, de débarrasser le code de quelques hacks disgracieux destinés à panser les conséquences de cette non-conformité, et surtout de satisfaire mon IDE (Eclipse) dont les multiples soulignements rouges (synonymes d'erreur) m'agacent au plus haut point -- et viennent brouiller ma détection des "vraies" erreurs.
J'aime le code propre et carré, et oui, vous pouvez me traiter de psychorigide…

Bref, me voilà en train d'adapter le code de scripts/, d'autant plus consciencieusement qu'on a alerté mon attention sur le fait que le principal obstacle dans ce projet serait le packaging cross-platform (linux/win32/osX), et de vérifier que je n'ai rien cassé…
Tout se passe pour le mieux et j'en suis au script test_creation_fichiers_tex.py, qui m'avait l'air de tourner correctement… jusqu'à l'erreur suivante:
(...)
Test n° 131
Test n° 132
Traceback (most recent call last):
File "./test_creation_fichiers_tex.py", line 75, in <module>
File "/home/olivier/dev/pyromaths/src/pyromaths/outils/System.py", line 167, in creation
fonction[exercice[0]].main(exercice[1], f0, f1)
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/cinquiemes.py", line 39, in main
write(f0, f1, modules[exo]())
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/statistiques.py", line 672, in statistiques
exo_vote()
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/statistiques.py", line 525, in exo_vote
freq1 = 4*random.randint(1,25-eff1-eff2)
File "/usr/lib/python2.7/random.py", line 241, in randint
return self.randrange(a, b+1)
File "/usr/lib/python2.7/random.py", line 217, in randrange
raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)
ValueError: empty range for randrange() (1,1, 0)
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 68, in apport_excepthook
binary = os.path.realpath(os.path.join(os.getcwd(), sys.argv[0]))
OSError: [Errno 2] No such file or directory

Original exception was:
Traceback (most recent call last):
File "./test_creation_fichiers_tex.py", line 75, in <module>
File "/home/olivier/dev/pyromaths/src/pyromaths/outils/System.py", line 167, in creation
fonction[exercice[0]].main(exercice[1], f0, f1)
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/cinquiemes.py", line 39, in main
write(f0, f1, modules[exo]())
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/statistiques.py", line 672, in statistiques
exo_vote()
File "/home/olivier/dev/pyromaths/src/pyromaths/cinquiemes/statistiques.py", line 525, in exo_vote
freq1 = 4*random.randint(1,25-eff1-eff2)
File "/usr/lib/python2.7/random.py", line 241, in randint
return self.randrange(a, b+1)
File "/usr/lib/python2.7/random.py", line 217, in randrange
raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)
ValueError: empty range for randrange() (1,1, 0)
«Damn! Les emmerdes commencent» me dis-je… :(
Je me penche donc à reculons sur le bout de code en question, que voilà (cinquiemes/statistiques.py:523):
eff1 = random.randint(1,15)
eff2 = random.randint(1,25-eff1)
freq1 = 4*random.randint(1,25-eff1-eff2)
Et en effet: bug («ouf!»).
randint(a,b) retourne un entier x tel que a<=x<=b. Du coup, une fois sur 150 en moyenne, on a:
eff1 = 15
eff2 = 10
freq1 = 4*randint(1, 0) # 25-15-10=0
N'est-ce pas, Arnaud? ;-)
Dernière édition par djinn le Jeu 11 Avr 2013, 09:29, édité 2 fois.
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: bug dans cinquiemes/statistiques.py

Messagede Jérôme » Mer 10 Avr 2013, 20:25

djinn a écrit:N'est-ce pas, Arnaud? ;-)

:mrgreen: Merci pour le moment de rigolade :D
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1060
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: bug dans cinquiemes/statistiques.py

Messagede djinn » Mer 10 Avr 2013, 20:35

Jérôme a écrit: :mrgreen: Merci pour le moment de rigolade :D

"git blame" never forgets! :lol:
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: bug dans cinquiemes/statistiques.py

Messagede Arnaud » Mer 10 Avr 2013, 22:50

J'ai jamais été très fort en soustraction, faudrait que je prenne du temps pour refaire des maths un jour.
T'as corrigé ou pas ?
Sinon je m'en occupe ce week-end ;)
Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
 
Messages: 603
Inscription: Sam 26 Aoû 2006, 21:49
Localisation: Allemagne

Re: bug dans cinquiemes/statistiques.py

Messagede djinn » Mer 10 Avr 2013, 23:05

En fait, je n'ai pas cherché à comprendre le contexte de l'exercice, j'étais juste soulagé de voir que mes bidouillages n'étaient pas en cause! :-p
Pour éviter que je fasse des bêtises, il vaut probablement mieux que je te laisse gérer…

PS: Quelle galère ce packaging
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: bug dans cinquiemes/statistiques.py

Messagede Arnaud » Sam 13 Avr 2013, 15:32

Avec trois séries de 500 exos de vote sans problème, je pense qu'on peut dire "corrigé".

djinn a écrit:PS: Quelle galère ce packaging


Je pense qu'il y a encore pire qui nous attend, mais pas pour tout de suite.
Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
 
Messages: 603
Inscription: Sam 26 Aoû 2006, 21:49
Localisation: Allemagne

Re: bug dans cinquiemes/statistiques.py

Messagede Jérôme » Sam 13 Avr 2013, 20:12

djinn a écrit:PS: Quelle galère ce packaging

Ah non. Il ne fallait pas lancer Arnaud la dessus ! :lol:
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1060
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: bug dans cinquiemes/statistiques.py

Messagede djinn » Lun 15 Avr 2013, 15:45

Arnaud a écrit:Je pense qu'il y a encore pire qui nous attend, mais pas pour tout de suite.

Tu en as trop dit ou pas assez! ;)
À quoi penses-tu?
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38


Retourner vers Propositions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités

cron