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).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Fonctionne pas

Posté par Richard Erwan (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...

--
Plus il y a de lois plus il y a de voleurs. (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 Richard Erwan (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 :-(

      --
      Plus il y a de lois plus il y a de voleurs. (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.

Liens permanents

Posté par JoeltheLion () le 20/02/2008 à 13:30. (lien). É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 JoeltheLion () le 20/02/2008 à 15:01. (lien). Évalué à 1.

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

    • [^]Re: Liens permanents

      Posté par gnu_castor (Jabber id, page perso, ) le 21/02/2008 à 19:39. (lien). É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 baud123 (Jabber id, page perso, ) le 22/02/2008 à 07:50. (lien). É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.

    • [^]Re: Liens permanents

      Posté par JoeltheLion () le 22/02/2008 à 09:42. (lien). Évalué à 1.

      Je pense pas que c'était nécessaire pour un truc qui fait moins d'une page... En fait je comptais mettre le code directement dans le journal, mais la balise \<code\> de linuxfr ne respecte pas l'indentation... D'où pastebin.

      • [^]Re: Liens permanents

        Posté par baud123 (Jabber id, page perso, ) le 23/02/2008 à 16:32. (lien). Évalué à 3.

        bin c'est plus dans la logique "si tu en as d'autres du même genre qui peuvent être utiles"

        et sinon cf. https://linuxfr.org//2007/10/03/23166.html pour friendsnippets, vu que pastebin c'est clairement pour du jetable...

records ?

Posté par nazcafan () le 20/02/2008 à 15:59. (lien). É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 JoeltheLion () le 20/02/2008 à 16:23. (lien). É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 Aldoo (Jabber id, ) le 20/02/2008 à 18:02. (lien). É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 JoeltheLion () le 20/02/2008 à 18:36. (lien). É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 M. A. () le 20/02/2008 à 19:03. (lien). É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 JoeltheLion () le 20/02/2008 à 23:43. (lien). É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 palm123 (page perso, ) le 21/02/2008 à 10:54. (lien). Évalué à 3.

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

--
"J'ai dépensé beaucoup d'argent dans la boisson, les filles et les voitures de sport. Et le reste je l'ai gaspillé." Georges Best

petite amélioration...

Posté par Maxime (Jabber id, ) le 23/02/2008 à 13:24. (lien). É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.

  • [^]Re: petite amélioration...

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

    Exact, ce serait mieux :) J'avoue, j'ai utilisé la fonction raw_input de python sans aucune modif :)

Revenir en haut de page