IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Analyse de vitesse de frappe enregistrée


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Analyse de vitesse de frappe enregistrée
    Bonjour tout le monde!

    Je suis en train de faire un projet de recherche sur la conception d'une disposition de touches de clavier optimisée. Pour ce faire, j'ai fait un programme qui mesure la vitesse qu'une personne prend pour exécuter chaque deux caractères du clavier. Il arrive à mesurer chaque temps, mais ne les met pas en mémoire. J'aimerais savoir comment faire pour insérer les données dans une liste ou un tableau dans lesquels les données seront identifiables aux caractères écrits. J'aimerais aussi savoir s'il est possible que, si la combinaison de chaque deux caractères se répète plus d'une fois, la moyenne des vitesses soit calculée.

    Voici mon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    try:
        from Tkinter import *
    except:
        from tkinter import *
    import time
     
    def saisie(event):
        global tps1
        tps2 = time.time()
        ligne1['text'] = '{} sec'.format(tps2-tps1)
        tps1 = tps2
        lb['text'] = event.char
     
    fenetre1 = Tk()
    fenetre1.title("Analyse de vitesse")
    ligne1 = Label(fenetre1, text='Temps')
    ligne1.pack()
    text = Text(fenetre1, width=40, height=10)
    text.bind("<Key>", saisie)
    text.pack()
    lb = Label(fenetre1)
    lb.pack()
    tps1 = time.time()
    fenetre1.mainloop()
    Merci beaucoup

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Citation Envoyé par Gamache Voir le message
    J'aimerais savoir comment faire pour insérer les données dans une liste ou un tableau dans lesquels les données seront identifiables aux caractères écrits. J'aimerais aussi savoir s'il est possible que, si la combinaison de chaque deux caractères se répète plus d'une fois, la moyenne des vitesses soit calculée.
    Pourquoi ne pas utiliser un dico sous la forme {touche:temps} ?
    Si la touche est dans le dico on fais la moyenne sinon on la rajoute.
    Vous avez ainsi un dico avec une moyenne par touche.

    Maintenant pour savoir si la touche se répète il suffit de conserver la dernière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def saisie(event):
        global tps1
        global lastchar
        tps2 = time.time()
        ligne1['text'] = '{} sec'.format(tps2-tps1)
        tps1 = tps2
        lastchar = event.char
        lb['text'] = lastchar
    Si vous voulez garder toutes les frappes passez par une liste de listes/tuples
    [(touche, tps), (touche, tps), ...]
    Si le dernier caractère est répété (lastchar plus haut) vous n'avez qu'a faire la moyenne sur le dernier élément (liste[-1])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> liste = [('a',2), ('b', 1)]
    >>> tps = 3
    >>> liste[-1] = (liste[-1][0], liste[-1][1]+tps/2)
    >>> liste
    [('a', 2), ('b', 2)]
    Si j'ai bien compris bien sur.

    @+

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/02/2012, 11h35
  2. vitesse de frappe
    Par marcel marie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/09/2010, 17h37
  3. vitesse de frappe
    Par marcel marie dans le forum Windows
    Réponses: 4
    Dernier message: 22/09/2010, 12h03
  4. log de la vitesse de frappe
    Par lichman dans le forum Administration système
    Réponses: 0
    Dernier message: 06/05/2009, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo