我正在编写一个关于除数的简单代码,我想得到一个关于计算机给我答案需要多长时间的反馈。
这是我的代码:
num=int(input('Give me a number'))
listRange=list(range(1,num+1))
divisorList=[]
for number in listRange:
if num%number==0:
divisorList.append(number)
print(divisorList)
正如你所看到的,数字越大,计算机处理所有除数的时间就越长,所以我想知道它在这样做时花了多少时间。
答案 0 :(得分:1)
您可以将时间模块用于循环之前的时间戳,然后使用时间模块打印差异。
import time
num=int(input('Give me a number'))
listRange=list(range(1,num+1))
divisorList=[]
start = time.time() # use time.clock() if on Windows
for number in listRange:
if num%number==0:
divisorList.append(number)
end = time.time() # use time.clock() if on Windows
print(divisorList)
print("Time taken: {:06.5f}secs".format(end-start)) # Seconds
print("Time taken: {:10.5f}ms".format((end-start)*1000) # Miliseconds
答案 1 :(得分:0)
如果您想以秒为单位找到时间:
from time import time
start = time()
... # code
print(time() - start)
答案 2 :(得分:0)
您可以使用timeit
模块:
import timeit
num=100000
listRange=list(range(1,num+1))
def function():
divisorList=[]
for number in listRange:
if num%number==0:
divisorList.append(number)
print(timeit.timeit(function, number=1))
# 0.01269146570884061