[英]How do i analyze the running time of a function with a for loop with an if statement?
例如,讓 function 包含:
def myfunc():
total = 0
for i in range(0, n):
total+=i
if total >= n:
return total
return 0
運行時間是多少?
我似乎想不出一種方法來分析這個問題。
您可以定義自己的裝飾器,如下所示:
def timed_function(f):
def wrapper(*args, **kwargs):
import time
start_time = time.time()
result = f(*args, **kwargs)
elapsed = time.time() - start_time
print("{} took {} seconds to run.".format(f, elapsed))
return result
return wrapper
@timed_function
def adding():
a = 0
for i in range(10000000):
a = a + 1
return a
adding()
<函數添加到 0x0000023711A0EE50> 運行耗時 0.49866580963134766 秒。
編輯:也許你只需要基礎知識? 然后導入時間模塊,在運行你的代碼之前和之后進行測量,然后打印結果。 例如:
import time
start_time = time.time()
#your code goes here
end_time = time.time()
time_elapsed = end_time - start_time
print("Took", time_elapsed)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.