Combiner boucle for / while
Bonjour à tous,
Dans le cadre d'un projet de type "timelapse", je souhaite utiliser une boucle infinie de type :
Code:
1 2 3
| for filename in camera.capture_continuous('img{counter:04d}.jpg'):
print('Captured %s' % filename)
time.sleep(1) # wait 5 minute |
que je cherche à limiter dans le temps.
J'ai trouvé une solution pour cela en utilisant une boucle while de type :
Code:
1 2 3
| a=(time.time())
b=(time.time()+3)
while a<b: a=(time.time()) |
afin d'interrompre la boucle for au bout de 3 secondes (pour l'exemple).
Mais je n'arrive pas à imbriquer correctement les deux boucles et ces dernières s'exécutent l'une après l'autre (d'abord les 3 secondes du while et après le for ou inversement).
A titre d'exemple (et pour simplifier en remplaçant la partie timelapse par une boucle trèèèès longue qui est à interrompre en principe par le while) :
Code:
1 2 3 4 5 6 7 8 9
| import time
a=(time.time())
b=(time.time())+3
while a<b:
for c in range(100000000000000000000):
print(c)
a=(time.time()) |
> le while n'est pas pris en compte
J'imagine que je pourrais faire autrement mais j'aimerais au moins comprendre mon erreur et la logique des while / for.
Merci par avance pour votre éclairage !