Journal Un petit logiciel pour progresser en calcul mental

Posté par  (site web personnel) .
Étiquettes : aucune
0
20
fév.
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.
  • # Fonctionne pas

    Posté par  . É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", attribué à Laozi.

    • [^] # Re: Fonctionne pas

      Posté par  . É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  . É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", attribué à Laozi.

        • [^] # Re: Fonctionne pas

          Posté par  . É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  (site web personnel) . Évalué à 2.

            Effectivement, c'est un petit bug.

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

            Merci pour les retours!
            • [^] # Re: Fonctionne pas

              Posté par  . É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  (site web personnel) . É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  (site web personnel) . É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  (site web personnel) . É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  . É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.
  • # Liens permanents

    Posté par  (site web personnel) . Évalué à 1.

    Je viens de me rendre compte que les post pastebin sont configurés pour être effacés au bout de un jour. Voici donc des liens permanents:

    compute.py:
    http://pastebin.com/f18e26fb3

    show_stats.py:
    http://pastebin.com/f4055b6d8
    • [^] # Re: Liens permanents

      Posté par  (site web personnel) . Évalué à 1.

      Version patchée: http://pastebin.com/f45a2d063
      • [^] # Re: Liens permanents

        Posté par  . Évalué à 1.

        Et euh... à part se compliquer la vie et ne donner aucune information sur le lien, ça sert à quoi pasbin & co ? Il y aurai peut être la longueur de l'url, mais ce n'est pas gênant, les liens ne portent pas obligatoirement l'url dans leur titre :/
    • [^] # Re: Liens permanents

      Posté par  (site web personnel) . Évalué à 2.

      euh, pour des liens permanents (et un vrai site) tu peux l'héberger sur http://tuxfamily.org

      tu auras même un svn ou un git pour suivre les changements...
      Parce que bon pastebin, hormis l'utiliser pour du ponctuel lors du support sur irc afin d'éviter de copier/coller plus de 5 lignes, c'est vraiment que pour du temporaire de chez temporaire.
  • # records ?

    Posté par  . Évalué à 2.

    quelqu'un arrive à passer sous la barre des vingt secondes pour le zéro fautes ?
    (un cobureau fait 21s mon record est à 23s).

    Serait-il possible de l'améliorer pour qu'il pose plus souvent les questions auxquelles on a mis du temps à répondre (plus de temps que pour les autres) ?

    merci pour le programme
    • [^] # Re: records ?

      Posté par  (site web personnel) . Évalué à 1.

      J'ai un pote qui fait dans les 17 secondes. La première personne à franchir la barre des 500 pts sur une base de données non vide gagne son nom dans le code source!

      Serait-il possible de l'améliorer pour qu'il pose plus souvent les questions auxquelles on a mis du temps à répondre (plus de temps que pour les autres) ?

      C'est déjà le cas.
      • [^] # Re: records ?

        Posté par  . Évalué à 5.

        5 essais pour passer en dessous de 20... faut avoir les doigts rapides ! C'est plus les fonctions motrices qu'arithmétiques qui limitent, là.
        • [^] # Re: records ?

          Posté par  (site web personnel) . Évalué à 1.

          C'est les deux à mon humble avis. Avoir un vrai clavier avec un numpad fait gagner beaucoup de temps par rapport à un clavier de portable.
  • # Ordi multi-users

    Posté par  . Évalué à 6.

    Le nom permet d'utiliser le programme à plusieur sur le même ordi.

    mauvaise raison : chaque utilisateur d'un ordi a son propre compte :-p !
    • [^] # Re: Ordi multi-users

      Posté par  (site web personnel) . Évalué à 3.

      Oui, sauf que ça se joue souvent à plusieurs, que tout le monde a pas forcément un compte sur l'ordi en question, et que se déloguer à chaque fois pour ça est stupide.

      C'est comme si tu disais que te demander ton nom pour le highscore à la fin des jeux est débile et qu'ils devraient utiliser ton login. Une vraie réflection de geek déconnecté.
  • # sympa, merci

    Posté par  (site web personnel) . Évalué à 3.

    Je vais essayer avec un clavier numérique :-)

    ウィズコロナ

  • # petite amélioration...

    Posté par  (site web personnel) . Évalué à 2.

    Je viens d'appuyer par erreur 2 fois sur la touche entrée pensant avoir mal appuyé... Résultat, j'ai eu faux à la question suivante...
    Ce serait pas mal de détecter ce genre de fausse manip ou simplement faire que l'appui sur entrée lorsqu'il n'y a pas de réponse repose la question plutôt que de passer à la suivante.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.