while True:
now = datetime.datetime.now()
if now.second == 1:
print "One"
私のプログラム印刷約7回。一度印刷するにはどうすればいいですか?Python 2.7 Whileループ時間
while True:
now = datetime.datetime.now()
if now.second == 1:
print "One"
私のプログラム印刷約7回。一度印刷するにはどうすればいいですか?Python 2.7 Whileループ時間
コンピュータが速すぎます。
現在の秒が1回であるかどうかをテストします。それは非常に速いので、1秒未満でこれを行うことができ、より多くの出力を得ることができます。
それは各反復の後に待っててください:
while True:
now = datetime.datetime.now()
if now.second == 1:
print "One"
time.sleep(59) # wait 59 seconds after success
time.sleep(1) # wait 1 second after each fail
このプログラムは、ほとんどの時間をスリープします。あなたが何か便利なことをしたいのであれば、それは別のプログラムになります。
以前に印刷に使用した値を保存するのはどうですか?
previous = None
while True:
now = datetime.datetime.now()
if now.second == 1 and now.second != previous:
print "One"
previous = now.second # store the last value
本当ですか? previousは常に1 –
now.secondを前に格納する代わりに、今すぐストアします。 –
私の最初の考えはそれ 'time.sleepは、(1)'の後に、それはおそらく悪だようにすることです:P – Interrobang
はよろしいです、それは約7倍ですか?まあ、それは正直言って非常に低い数字です。つまり、コンピュータの現在の値の確認には約0.14秒かかります。 ところで、あなたの見積もりの字下げを修正してください。 – Gandi
@ガンディー、良い点。 stdout以上のものは何千ものものを扱うことができます。 – Ben