0

タイマーを試していますが、0が出力され続けますが、修正方法がわかりません。

    import time
    x=time.time
    y=time.time
    z=0
    b=2
    while b<10000:
        print b
        b=b+10
    z=x-y
    print z

私が0を取得し続ける理由は、私がxyを実行しているためだと思いますが、そのままにしてxまたはyを印刷すると、まったく間違った結果になります。誰かがこれを機能させる方法を教えてもらえますか?最後に、プログラムが実行されている時間を出力します。たとえば、whileループが20秒かかるとすると、20秒が出力されます。

4

2 に答える 2

1

3行で作成された後、コードがy変数を更新することはありません。ループの後に行「y=time.time()」を配置します。

実際には、タイマーは必要ありません。プログラムの実行時の計算が必要です。見てください-Pythonでプログラムの実行時間をどのように計算しますか?

PSあなたの例は構文的に正しくありません。

于 2012-12-14T17:04:32.470 に答える
0

例のロジックと構文を修正します。

import time
x = time.time()
b = 2
while b<10000:
    print b
    b = b+10
y = time.time()
z = x-y
print z

希望の出力が得られます。さらに良い:

import timeit
start = timeit.default_timer()

b = 2
while b<10000:
    print b
    b = b+10

stop = timeit.default_timer()
print stop - start 
于 2013-05-27T13:36:15.247 に答える