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を使用する場合は、clock()を使用することをお勧めします。ドキュメントによると、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 に答える