3

for ループをタイマーとして使用する方法はありますか? 私はこれを試しました:

a = 0
for i in range(1, 10000):
    a += 1

print "Hello World"

しかし、何らかの理由で、すぐに「Hello World」に切り替わってしまいます。Python は 1 ティックまたは 1/1000 秒ごとにインクリメントしていると思いました。もしそうなら、10000/1000 = 10 よりも、for ループは 10 秒間続くはずですよね? 誰かがこれを理解するのを手伝ってくれたら、とても感謝しています。

4

5 に答える 5

7

このrange関数は、指定された範囲の Python 2.x (または Python 3.x のイテレータ) の数値のリストを返します。あなたが誤って想定したように、それは時間とは何の関係もありません。ステートメントはa += 1、範囲で定義された回数だけすぐに実行されます。これは、最新のコンピューターでは非常に高速です。

一般に、高レベルのプログラミング言語の命令は、ハードウェアが許す限り速く実行されます。プロセッサのティックごとに命令を実行することを指示する暗黙のタイマーはありません。パフォーマンスのために!プログラムの実行を 10 秒間一時停止する必要がある場合は、遅延を実装するためにループを使用しないでください。代わりsleepに、指定された秒数の間実行を一時停止する関数を使用してください。

import time
# some code before
time.sleep(10) # sleep for 10 seconds
# some code after
于 2013-07-09T19:35:13.703 に答える
2

やってみましたtime.sleep(<number of seconds you want it to wait>)

于 2013-07-09T19:35:32.940 に答える
2

実行時間は多くの要因に依存するため、そうしないでください。

sleep代わりに次の方法を試してください。

time.sleep(10)
于 2013-07-09T19:36:12.393 に答える
1

その結果を得るには、Sleep メソッドを使用します。

time.sleep(X)

X は、一時停止する秒数です。

于 2013-07-09T19:38:23.807 に答える