Journal : Un petit logiciel pour progresser en calcul mental

Posté par JoeltheLion () le 20 février 2008
0
J'ai développé un petit logiciel en python pour progresser en calcul mental. Derrière une interface simple en ligne de commande se cache un programme très malin : il enregistre vos performances et vous fait travailler sur les points qui posent problème. Si vos tables de multiplication sont un peu rouillées, essayez, on progresse très vite!

Compute.py


Utilisation:
./compute.py nom
Le nom permet d'utiliser le programme à plusieur sur le même ordi.

Un autre petit programme permet de visualiser vos performances:

show_stats.py


Attention pour exécuter ces programmes il vous faut python 2.5 minimum. Code sous GPL v3.

> Lire le journal (25 commentaires, moyenne: 2).  

Vous avez demandé le commentaire #906349.

Fonctionne pas

Posté par Erwan Richard (Jabber id, page perso, ) le 20/02/2008 à 12:41. (lien). Évalué à 3.

Impossible de le faire marcher chez moi.


[dhalsim@yoshi ~]$ ./compute.py dhalsim
: Aucun fichier ou répertoire de ce type


ou


[dhalsim@yoshi ~]$ python compute.py dhalsim
Traceback (most recent call last):
File "compute.py", line 61, in
if random.random() < len(bad_ops)/(1.5*ops_per_serie):#train user specifically on stuff he doesn't master
NameError: name 'bad_ops' is not defined


J'ai pourtant python 2.5.1...

--
"Aucun de nous ne sait ce que nous savons tous, ensemble." (Lao Zi)
  • [^]Re: Fonctionne pas

    Posté par nicolasr () le 20/02/2008 à 12:54. (lien). Évalué à 2.

    Je pense que le shebang est foireux :

    #!//usr/bin/env python

    ça devrait être
    #!/usr/bin/env python

    enfin, je dis ça mais j'ai même pas vérifié :-/

    • [^]Re: Fonctionne pas

      Posté par Erwan Richard (Jabber id, page perso, ) le 20/02/2008 à 13:03. (lien). Évalué à 2.

      J'ai aussi pensé au shebang mais ça ne fonctionne toujours pas :-(

      --
      "Aucun de nous ne sait ce que nous savons tous, ensemble." (Lao Zi)
      • [^]Re: Fonctionne pas

        Posté par syntaxerror () le 20/02/2008 à 13:16. (lien). Évalué à 1.

        il me semble que bad_ops est initialisé dans le bloc try, et donc seulement s'il existe déjà un fichier stats

        • [^]Re: Fonctionne pas

          Posté par JoeltheLion () le 20/02/2008 à 13:24. (lien). Évalué à 2.

          Effectivement, c'est un petit bug.

          Version patchée: http://pastebin.com/d62c3e108

          Merci pour les retours!

          • [^]Re: Fonctionne pas

            Posté par syntaxerror () le 20/02/2008 à 13:40. (lien). Évalué à 1.

            Merci pour la correction :-)
            Il faudrait peut être prévoir la possibilité de sortir quand on veut, c'est du calcul mental, pas les travaux forcés ;-p

            Je ne vois pas ce qui est spécifique à python 2.5 (et d'ailleurs ça fonctionne très bien avec 2.4 en apparence).

            • [^]Re: Fonctionne pas

              Posté par JoeltheLion () le 20/02/2008 à 13:46. (lien). Évalué à 1.

              C'est à moitié voulu, ça évite que les gens recommencent 10 fois pour améliorer son score. 15 questions c'est pas la mort non plus :)

              [^]Re: Fonctionne pas

              Posté par JoeltheLion () le 20/02/2008 à 13:48. (lien). Évalué à 1.

              Pour python 2.4, effectivement. Je croyais avoir utilisé des if fonctionnels:

              a=3 if boolean else 5

              que j'aime beaucoup, c'est pour ça que j'ai mis cet avertissement.

      [^]Re: Fonctionne pas

      Posté par JoeltheLion () le 20/02/2008 à 13:25. (lien). Évalué à 1.

      Effectivement le shebang est moche mais ça marche quand même, //// c'est la même chose que /

    [^]Re: Fonctionne pas

    Posté par syntaxerror () le 20/02/2008 à 13:33. (lien). Évalué à 4.

    Ah, et pour cette erreur:


    [dhalsim@yoshi ~]$ ./compute.py dhalsim
    : Aucun fichier ou répertoire de ce type


    c'est typique d'un fichier DOS exécuté sous Unix (cr/lf vs lf).
    A passer à travers dos2unix / fromdos ou équivalent.