【发布时间】:2018-07-02 22:51:21
【问题描述】:
目标:我想看看python每1秒能打印多少次。
出于教育目的,我正在尝试制作一个脚本,显示每秒随机模块将出现多少次循环。如何以最快的pythonic方式做到这一点?
起初,为了计算秒数,我写了这段代码:
import time
sec = 0
while True:
print(sec)
time.sleep(1)
sec += 1
但这似乎比真正的秒慢。
所以我决定使用本地秒。另外,在继续我的脚本之前,我想计算一下 python 会手动打印多少次“你傻瓜”,所以我编写了以下代码:
import time
def LocalSeconds():
local_seconds = time.gmtime()[5:-3]
local_seconds = int(local_seconds[0])
return local_seconds
while True:
print(LocalSeconds(), 'you fool')
输出: 第一秒 - 每秒 14 次; 下一秒 - 13次; 下一秒 - 12 次等。为什么它变慢了?
我现在结束/卡住的地方:
import time, random
def RandomNumbers():
return random.randint(3,100)
def LocalSeconds():
local_seconds = time.gmtime()[5:-3]
local_seconds = int(local_seconds[0])
return local_seconds
def LocalSecondsWithPing():
local_seconds_ping = time.gmtime()[5:-3]
local_seconds_ping = int(local_seconds[0:1])
return local_seconds_ping
record_seconds = []
record_seconds_with_ping = []
while True:
record_seconds.append(LocalSeconds())
record_seconds_with_ping.append(LocalSecondsWithPing())
if record_seconds == record_seconds_with_ping:
RandomNumbers()
del record_seconds_with_ping[0]
del record_seconds[-1]
另外,我想我需要使用“for”循环,而不是“while”?这个脚本怎么做?
【问题讨论】:
-
您应该使用
timeit模块。 -
这里一定很奇怪...在我的低功率 VPS 上,您使用
gmtime的示例每秒打印超过 100000 次。您认为是什么让您的脚本如此缓慢?
标签: python python-3.x loops