Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Un petit logiciel pour progresser en calcul mental

Posté par JoeltheLion () le 20 février 2008
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 #906338.

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.