Comment arrêter une boucle while après 5 minutes si elle n'atteint pas ce que je veux qu'elle atteigne.
while true:
test = 0
if test == 5:
break
test = test - 1
Ce code me jette dans une boucle sans fin.
Comment arrêter une boucle while après 5 minutes si elle n'atteint pas ce que je veux qu'elle atteigne.
while true:
test = 0
if test == 5:
break
test = test - 1
Ce code me jette dans une boucle sans fin.
Je veux partager celle que j'utilise :
import time
# provide a waiting-time list:
lst = [1,2,7,4,5,6,4,3]
# set the timeout limit
timeLimit = 4
for i in lst:
timeCheck = time.time()
while True:
time.sleep(i)
if time.time() <= timeCheck + timeLimit:
print ([i,'looks ok'])
break
else:
print ([i,'too long'])
break
Alors vous aurez :
[1, 'looks ok']
[2, 'looks ok']
[7, 'too long']
[4, 'looks ok']
[5, 'too long']
[6, 'too long']
[4, 'looks ok']
[3, 'looks ok']
Je l'ai lu mais je veux juste demander quelque chose, est-ce que quelque chose comme ce que j'ai écrit ne fonctionnerait pas du tout ? J'ai fait le test pour 5, 10 et 20 secondes. Le temps n'est pas exactement exact mais ils sont vraiment proches des valeurs réelles.
import time
begin_time=0
while begin_time<5:
begin_time+=1
time.sleep(1.0)
print("The Work is Done")
Je ne suis pas un expert en python mais j'ai écrit une petite fonction pour vérifier le timeout et freiner la boucle while.
# compare now and given times older than delta
def is_time_older_than(time, delta):
print(dt.utcnow() - time,delta)
if (dt.utcnow() - time) > delta:
return True
return False
startTime = dt.utcnow()
while True:
print("waiting")
if (is_time_older_than(startTime, timedelta(seconds=5)) == True):
break
vous pouvez enregistrer le temps avant l'exécution et l'envoyer à la fonction comme temps de départ avec la valeur delta en secondes (ou 60*1 pour une minute), elle comparera la différence et retournera Faux ou Vrai, c'est tout.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.