Python的字符串替换我的这个简单的Python代码,显示0.000在打印语句浮点#
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
奇怪,我得到'答案是:233168,时间是250.000000'作为输出(在XP SP2中的IPython v 2.7.2,并且大约有一半的时间在常规的Python shell下) - 你喜欢上一个*超快*机器?如果你将范围改变到更大的价值呢? – Levon 2012-08-07 14:41:11
无法重现,我得到的答案是:233168,时间是0.349045(Python 2.7.3,Mac OS X) – 2012-08-07 14:41:17
在您的操作系统上,时钟的分辨率可能太低,以至于两个时间点。尝试'打印t1 == t2',看看它是否是'真'。 (你的操作系统是什么?) – 2012-08-07 14:42:47