2010-09-20 6 views
0

Je suis un débutant à l'aide de Python,Calendrier/entrée d'enregistrement() en Python 3.1

Je suis en train de demander l'avis de l'utilisateur via stdin comme une chaîne, mais enregistrer le temps qu'il faut pour l'utilisateur d'entrer l'entrée, de sorte qu'il peut être joué plus tard.

Par exemple:

« Il pourrait me prendre 10 secondes pour taper cette phrase »

puis si je jouais cette phrase en arrière, il prendrait la même quantité de temps pour réafficher ...

Des idées de base sur les modules à utiliser pour la synchronisation/l'entrée? Pour la sortie, je vais juste stocker toutes les valeurs enregistrées et les temps dans un objet dictionnaire et lire à partir d'eux. (Semble être le meilleur moyen ...)

Des conseils ou de l'aide seraient appréciés. Je ne suis pas un programmeur débutant, mais je ne suis pas très novice avec Python, alors ne vous sentez pas obligé d'écrire quelque chose pour moi.

Merci!

Répondre

1

La fonction intégrée input est très bien pour l'entrée elle-même, et le module de bibliothèque Python standard time probablement le meilleur moyen de mesurer le temps pour vos besoins. Une fonction simple, vous pouvez écrire les met facilement ensemble:

import time 

def timed_input(prompt): 
    start = time.time() 
    s = input(prompt) 
    return s, time.time() - start 

Cette fonction nécessite une chaîne rapide que le seul argument et retourne un tuple avec deux éléments: la chaîne saisie par l'utilisateur, puis un nombre à virgule flottante à la secondes (et une fraction de celle-ci) que l'utilisateur a pris pour taper (plus une surcharge minuscule pendant le temps que le système a pris pour montrer à l'utilisateur l'invite, mais c'est vraiment une toute petite fraction de seconde).

Alors, vous l'appelez comme, par exemple:

s, thetime = timed_input('Type now: ') 

alors vous faites tout ce que vous voulez avec la chaîne s et flotteur thetime (ce n'est pas clair pour moi comment vous envisagez de structurer le dictionnaire que vous souhaitez stocker les données en, mais c'est une question complètement différente de celle que j'ai longuement répondu, bien sûr!

+0

C'est parfait! Connaissez-vous des modules intégrés qui permettraient de chronométrer les frappes individuelles sur la ligne de commande? – jeffrey

Questions connexes