我在 WingIDE 101(版本 4)的 Windows 7 操作系统上运行 Python 3.2。在这种情况下,环境并不重要,但我认为我应该具体。
我的代码如下。它并不是最优的,只是找到素数的一种方法:
def isPrime2(n):
if n == 1:
return False
count = 0
for i in range(2,n+1,2):
if n%i == 0:
count = count + 1
if count > 2:
return False
for i in range(1,n+1,2):
if n%i == 0:
count = count + 1
if count > 2:
return False
if count == 2:
return True
start = time.time()
x = isPrime2(571)
end = time.time()
time_interval = end - start
print("%1.15f"%time_interval)
print(x)
我遇到的问题是 time.time() 函数似乎不是计时的。当我运行这个程序时,我得到
0.000000000000000
True
我还尝试了最多 30 位数字,并且所有数字都保持为零。
考虑到我有多个 For 循环,我的程序不可能这么快。
我的问题是,为什么我的功能没有计时?或者如果是,为什么我知道它不应该这么快?