سؤال

How should I measure number of seconds passed in a infinite loop? I'm using Vpython, and in my loop i change a position of some elements etc. The thing is that i have to change color of lights(sphere) every X seconds and it all happens in infinite loop.

while True:
    #some stuff
    'here i have to count those seconds'
    #some other stuff
هل كانت مفيدة؟

المحلول

You could determine the elapsed time by calling time.time(), and taking the difference.

i have to change color of lights(sphere) every X seconds

Say you last changed the colour at time T. Keep calling time.time() inside the loop, and change the colour again when time.time() - T exceeds X.

نصائح أخرى

You should probably use timeit.default_timer() to figure out what time it is and compute the difference.

e.g.:

from timeit import default_timer
clock_start = default_timer()
#... do something here
clock_end = default_timer()
print "This took %s seconds" %( clock_end - clock_start )
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top