我是Python编程的新手。我今天早上开始研究Project Euler,我想知道执行我的解决方案需要多长时间。我在网上搜索了我的
解决方案import time
class Solution(object):
def fibonacci(self,limit):
sum = 0
current = 1
next = 2
while(current <= limit):
if current % 2==0:
sum += current
current, next = next, current + next
return str(sum)
if __name__ == "__main__":
start = time.clock()
solution = Solution().fibonacci(4000000)
elapsed = time.clock()-start
print("Solution: %s"%(solution))
print("Time: %s seconds"%(elapsed))
输出:
解决方案:4613732
时间:2.006085436846098e-05秒
import time
class Solution(object):
def fibonacci(self,limit):
sum = 0
current = 1
next = 2
while(current <= limit):
if current % 2==0:
sum += current
current, next = next, current + next
return str(sum)
if __name__ == "__main__":
start = time.time()
solution = Solution().fibonacci(4000000)
elapsed = time.time()-start
print("Solution: %s"%(solution))
print("Time: %s seconds"%(elapsed))
输出:
解决方案:4613732
时间:0.0秒
我的问题是
答案 0 :(得分:2)
在Python time
module中,time.clock()
测量自第一次调用函数以来的时间(以秒为单位),time.time()
测量自1970年1月1日以来的时间(以秒为单位)。
time.clock()
通常更精确,所以我建议使用这个。这就是为什么你在第一个例子中得到微小的结果,在第二个例子中向下舍入为零的原因。