3

次のようにPython関数の時間を計るためにtimeitを実行しようとしています:

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

global name 'i' is not definedプログラムの開始時に次のように定義しましたが、global i

timeit を実行すると、次のようになります。

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

できます。助言がありますか?

4

1 に答える 1

4

文字列フォーマットを使用:

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))
于 2014-01-28T01:55:39.357 に答える