python - Python 返回时间性能 time.clock()
问题描述
我有以下代码,我想在其中测量时间性能。
import time
def fibonacci(n):
t0 = time.clock()
if n == 0:
return 0
elif n == 1:
return 1
else:
a = fibonacci(n-1)
b = fibonacci(n-2)
return a + b, time.clock()
当我运行它时,我Type error: can only concatenate tuple (not "int") to tuple
怎样才能返回函数的结果和时间性能呢?我在这里想念什么?
解决方案
a
并且b
是你的函数的结果,你正在返回一个元组......只需从函数外部调用主斐波那契调用,例如在函数包装器中:
def time_fibonacci(n):
start = time.clock()
result = fibonacci(n)
# return a tuple: result + cpu time
return result, time.clock() - start
并修复了斐波那契本身(没有时钟):
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a = fibonacci(n-1)
b = fibonacci(n-2)
return a + b
推荐阅读
- python - aws eb cli Windows 在 colorama 上获取版本错误
- r - 在R中将整数转换为字符串
- android - 房间更新查询只更新一行
- nutch - 如何使用 Apache Nutch 抓取 ajax 网站
- service-worker - 服务工作者 - 始终从网络和缓存资源提供服务
- git - Git - 使用系统代理
- php - 无法构建 Dockerfile - 无法找到包
- asp.net-core - 如何共享由主机管理但租户可以访问的实体?
- apache-spark - 如何在 PySpark DataFrame 中强制进行特定分区?
- ios - UITextfield 弹跳文本