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