在索引为输入数字的for循环中运行timeit

我试图运行timeit来计时python函数,如下所示:

for i in range(1, 30):
    print 'The time for ' + str(i) + ' is ' + str(timeit.Timer('Fib(i)', 'from problem1 import Fib').timeit())

即使我在程序开始时就将全局名称定义为全局i,也未定义全局名称“ i”

当我像这样运行timeit时:

print timeit.Timer('Fib(5)', 'from problem1 import Fib').timeit()

有用.有什么建议么?

解决方法:

使用字符串格式:

for i in range(1, 30):
    t = timeit.Timer('Fib({:d})'.format(i), 'from problem1 import Fib').timeit()
    print('The time for {i:d} is {t:0.2f}'.format(i=i, t=t))
上一篇:LeetCode - 解题笔记 - 91 - Decode Ways


下一篇:mac php 安装ssh2 扩展