有什么方法可以使用 for 循环作为计时器?我试过这个:
a = 0
for i in range(1, 10000):
a += 1
print "Hello World"
但由于某种原因,它立即切换到“Hello World”。我认为 Python 每滴答声或 1/1000 秒都会递增。如果是这样,比 10000/1000 = 10,那么 for 循环应该持续 10 秒,对吗?如果有人可以帮助我理解这一点,我将不胜感激。
该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
你有没有尝试过time.sleep(<number of seconds you want it to wait>)
不要那样做,因为执行时间将取决于很多因素!
请尝试以下sleep
方法:
time.sleep(10)
使用 Sleep 方法来实现该结果。
time.sleep(X)
其中 X 是您希望它暂停的秒数。
使用您的代码,您可以尝试将 time.sleep(1) 放入 for 循环中。然而,Racso 和 Edgar 告诉了你一个更好的方法来做到这一点。