[英]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.