私はminecraft pi editionのためにpythonでデジタル時計を作っています。私は、多くのコードを含む単一のwhileループを使用しています - 実行するのに短い時間がかかりますが、それは数ミリ秒も私が望む以上に多く、これは私の時計に混乱を引き起こしています。 whileループを完全に正確にする方法はありますか?私はtime.sleep(1)
という2つのカウントを使用していますが、実行には2秒以上かかります。whileループを一定の時間がかかるようにする方法
例:
while True:
start = time.time()
for _ in range(5):
1000**3
time.sleep(1)
print (time.time() - start)
ループ当たり1秒以上かかります。
1.00102806091
1.00028204918
1.00103116035
1.00051879883
1.0010240078
1.00102782249
このエラーは時間の経過と共に累積します。どのように私はそれが漂流するのを防ぐことができますか?
あなたのループの各反復は2秒( 'time.sleep()'によって)+あなたのコードが実行されるwhile時間の所要時間になります。 'time.sleep(n)'はあなたのコードの実行を 'n'秒遅らせます –
どうしてそんなに多くの否定的なフィードバックがありますか?私は間違って何をしていますか? –
よく@ I.Scott私が見ることはあなたの質問にコードを入れていないということです。質問には常にコードが必要ですか?いいえ、全くありません。しかし、あなたのケースでは、あなたの質問からコードを除外することは、誰かがあなたのためにコードを書いてほしいというメッセージを送るかもしれません。いくつかのコードをお持ちの場合は、あなたの問題に少なくともあなたの問題を解決しようとしていることを示すために追加することをお勧めします。 –