2010-07-22 7 views
1

Je veux savoir à propos de minuterie en Python.compte à rebours de minuterie Python

Supposons que j'ai un extrait de code quelque chose comme:

def abc() 
    print 'Hi' 
    print 'Hello' 
    print 'Hai' 

Et je veux imprimer chaque 1 seconde. Max trois fois, c'est à dire; 1ère seconde j'ai besoin de vérifier le printf, 2ème seconde je dois vérifier aussi en 3ème seconde.

Dans mon code actuel, la valeur des variables sera mise à jour. Je dois saisir à quelle seconde toutes les variables sont mises à jour.

Quelqu'un peut-il me dire comment faire cela.

+0

souhaitez-vous imprimer chaque ligne après un délai de ' n' secondes? – SilentGhost

+5

OT - du bon greif! Sur 68 questions, vous avez seulement accepté 29%? Vous/vraiment/devez aller et accepter des réponses à plus de vos questions! –

Répondre

3

Utilisez time.sleep.

import time 

def abc(): 
    print 'Hi' 
    print 'Hello' 
    print 'Hai' 

for i in xrange(3): 
    time.sleep(1) 
    abc() 
+1

dans 1 seconde J'ai besoin d'imprimer. Dans le programme ci-dessus après avoir donné 1 sec retardé son imprimé. Je le veux dans 1 sec. Mon programme contiendra des variables qui seront mises à jour. Ce que je veux, c'est surveiller combien de secondes cela prend pour que toutes les variables soient mises à jour. – user46646

0

Vous devriez regarder dans time.sleep(). Par exemple:

for i in xrange(5): 
    abc() 
    time.sleep(3) 

Cela imprimera vos lignes 5 fois avec un délai de 3 secondes entre.

0
import time 
def abc() 
    for i in range(3): 
     print 'Hi' 
     print 'Hello' 
     print 'Hai' 
     time.sleep(1) 
0
import time 
def abc(): 
print 'Hi' 
print 'Hello' 
print 'Hai' 

for i in range(3): 
time.sleep(3-i) 
abc() 
8

time.sleep est très bien dans ce cas, mais si la fonction abc() prend une demi-seconde à exécuter? Ou 5 minutes? Dans ce cas, vous devez utiliser un objet Timer.

from threading import Timer 

def abc(): 
    print 'Hi' 
    print 'Hello' 
    print 'Hai' 

for i in xrange(3): 
    Timer(i, abc).start() 
0

habituellement pour moi cela fonctionne ...

import time 

def abc(): 
    print 'Hi' 
    time.sleep(1) 
    print 'Hello' 
    time.sleep(1) 
    print 'Hai' 
    time.sleep(1) 

Je pense que vous pouvez deviner la suite ...

0
import sys 
import time 

c=':' 
sec = 0 
min = 0 
hour = 0 

#count up clock 

while True: 
for y in range(59):             #hours 
    for x in range (59):           #min 
     sec = sec+1 
     sec1 = ('%02.f' % sec)          #format 
     min1 = ('%02.f' % min) 
     hour1= ('%02.f' % hour) 
     sys.stdout.write('\r'+str(hour1)+c+str(min1)+c+str(sec1)) #clear and write 
     time.sleep(1) 
    sec = 0 
    sys.stdout.write('\r' + str(hour1) + c + str(min1) + c + '00') #ensure proper timing and display 
    time.sleep(1) 
    min=min+1 
min = 0 
sys.stdout.write('\r' + str(hour1) + c + str(min1) + c + '00')  #ensure proper timing and display 
time.sleep(1) 
hour=hour+1 
+0

Veuillez fournir quelques explications sur comment cela fonctionne. Le dumping de code est mal vu ici. – rayryeng