如何使用for循环作为计时器?

时间:2013-07-09 19:34:04

标签: python for-loop timer delay

有没有办法将for循环用作计时器?我试过这个:

a = 0
for i in range(1, 10000):
    a += 1

print "Hello World"

但由于某种原因,它立即切入“Hello World”。我认为Python会在每个滴答或1/1000秒增加。如果是这样,那么10000/1000 = 10,那么for循环应该持续10秒吧?如果有人能帮助我理解这一点,我会非常感激。

5 个答案:

答案 0 :(得分:7)

range函数返回给定范围内Python 2.x(或Python 3.x中的迭代器)中的数字列表。它没有任何东西,与时间无关,或者你错误地假设的蜱虫。 a += 1语句将立即执行,并且将按照范围的定义执行多次 - 这在现代计算机中将非常快。

通常,任何高级编程语言中的任何指令都将以硬件允许的速度执行,没有一个隐式计时器指示处理器的每个滴答都执行一条指令 - 想一想,它就是'为表现而言,可怕!如果您需要暂停执行一个程序10秒钟,请不要使用循环来实现延迟,而是使用sleep函数在给定的秒数内暂停执行:

import time
# some code before
time.sleep(10) # sleep for 10 seconds
# some code after

答案 1 :(得分:2)

您是否尝试过time.sleep(<number of seconds you want it to wait>)

答案 2 :(得分:2)

不要这样做,因为执行时间取决于很多因素!

请改为使用sleep方法:

time.sleep(10)

答案 3 :(得分:1)

使用Sleep方法来实现该结果。

time.sleep(X)

其中X是您希望它暂停的秒数。

答案 4 :(得分:0)

使用您的代码,您可以尝试将time.sleep(1)放在for循环中。 然而,Racso和Edgar告诉你一个更好的方法。