2016-09-03 9 views
2

私はPythonプログラミングが初めてです。私は今朝プロジェクトオイラーに取り組み始めました。私はソリューションを実行するのにどれくらいの時間がかかるかを知りたいと思っていました。私は私のtime.clock()とtime.time()を使用したPythonプログラムのタイミング

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)) 

出力



S olution:4613732
時間:0.0秒


私の質問は

  1. では正しい上で計算した時ですか?
  2. time.time()とtime.clock()の違いは何ですか? time.time()を使用すると、時間は0.0になります。 Pythonのtime module
+0

コードレビューから移行されたのは、改良の余地のない提案を求めているのではなく、特定のプログラミング問題についての説明を求めているからです。 –

答えて

2

、秒で最初の数秒で関数の呼び出し、および1月1日、1970年以降time.time()時間を計測し、以来time.clock()時間を計測。

time.clock()は一般的にはより正確なので、これを使用することをお勧めします。これは、最初の例では小さな結果が得られ、2番目の例ではゼロに切り下げられた理由です。

関連する問題