2

我有这个简单的python代码,

import time
t1 = time.time()
total = sum([x for x in range(1000) if x%3 is 0 or x%5 is 0])
t2 =time.time()

print "Ans is: %d, Time is %f" %(total,(t2-t1)*1000.0)

我把它作为我的输出

Ans is: 233168, Time is 0.000000

我怎么看不到我的号码的结果?我已经用谷歌搜索了其他在字符串中替换数字的示例,它们正是我正在做的事情,有什么帮助吗?

我也尝试过使用 %0.3f 和 %d ......嗯......在此先感谢您的帮助

编辑

当我尝试这段代码时:

import time
t1 = time.time()
total = sum([x for x in range(1000) if x%3 is 0 or x%5 is 0])
t2 =time.time()
print t2
print "Ans is: %d, Time is %f" %(total,(t2-t1)*1000.0)

我得到这个答案,

1344350841.39
Ans is: 233168, Time is 15.000105
4

1 回答 1

1

这不是您问题的直接答案,但如果您使用 Windows,我宁愿建议使用时钟()。根据文档,它在 UNIX/MacOS 上的行为不同。

from time import clock
clock()
total = sum([x for x in range(1000) if x%3 == 0 or x%5 == 0])
print "Ans is: %d, Time is %f" %(total,clock())
于 2012-08-07T15:01:16.360 回答