有没有办法将for循环用作计时器?我试过这个:
a = 0
for i in range(1, 10000):
a += 1
print "Hello World"
但由于某种原因,它立即切入“Hello World”。我认为Python会在每个滴答或1/1000秒增加。如果是这样,那么10000/1000 = 10,那么for循环应该持续10秒吧?如果有人能帮助我理解这一点,我会非常感激。
答案 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告诉你一个更好的方法。