2012-12-14 3 views
0

J'ai essayé une minuterie et il continue d'imprimer 0 et je ne sais pas exactement comment fixerBesoin d'aide Création d'une minuterie Python

import time 
    x=time.time 
    y=time.time 
    z=0 
    b=2 
    while b<10000: 
     print b 
     b=b+10 
    z=x-y 
    print z 

Je pense que la raison pour laquelle je continue à obtenir 0 est parce que je fais xy mais si je laisse juste et imprime x ou y il vient avec la chose totalement fausse. Quelqu'un peut-il me dire comment faire ce travail, donc à la fin, il imprime combien de temps le programme a été en cours d'exécution, disons que la boucle while prend 20 secondes, il devrait imprimer 20 secondes.

Répondre

1

Votre code ne met jamais à jour la variable y après sa création sur 3 lignes. Placez la ligne "y = time.time()" après votre boucle.

Et en fait, vous n'avez pas besoin d'une minuterie, vous avez besoin du calcul du temps d'exécution du programme. Regardez - How do you calculate program run time in python?

PS Votre exemple est syntaxiquement incorrect.

0

Fixation de la logique et la syntaxe dans votre exemple:

import time 
x = time.time() 
b = 2 
while b<10000: 
    print b 
    b = b+10 
y = time.time() 
z = x-y 
print z 

donnera la sortie désirée. Encore mieux:

import timeit 
start = timeit.default_timer() 

b = 2 
while b<10000: 
    print b 
    b = b+10 

stop = timeit.default_timer() 
print stop - start