私は現在for-loop
を持っていますが、これは何かをチェックするための驚くべき数の繰り返しを経ています。新しい繰り返しになると、変数があるかどうかをチェックする必要があります現在の反復のサイズと同じです。
ここ は私がやっているのコード例である:私は私の答えを得る前に、それは数学重い操作の可能性の何百万によって起こっているので、しかし毎回変数をチェックしないでください
import datetime
now = datetime.datetime.now()
printcounter = 0
for i in range(3,100000000000+1,2):
if (printcounter == 1000000000):
print(i,"at %d" %now.hour, "hours and %d" % now.minute, "minutes.")
printcounter = 0
else:
#Do operation
printcounter += 1
、私は気づいた「printcounterのこのコードをストライピングすることにより、 '変数と私に進捗報告を与えていない私は時々、全体的なスピードアップを与えた。
「printercounter」変数が10000に等しいかどうかをチェックする方法はありますか?チェックすることなく、ごとにを繰り返しますか?
私は個人的には、非常に汚れてしまうループの入れ子に頼らずに、とにかく考えることができません。
ところで、私はWindows 8.1、Python 3.5.1を使っています。違いがあれば。
編集:
私はそれは私が代わりにファイルに印刷する場合は、しかし、印刷する時間の大部分を取ることを理解し、私のハードディスクは非常に速いです、そして、私はまだ同じではありますが、時間の差は小さくなりました。また、私はこのソリューションを他の多くのスクリプトで実装したいと思っていました。ここでも大きな問題ではないにしても、やってみたいと思っています。
編集2:
おそらく、それを明確にされていないため私のせいです。私は毎回ではなく、しばらく毎回値をチェックすることが可能かどうかを探していました。たとえば、私は 'printcounter'が1のとき1000000000に等しいかどうかチェックするのは私のコードでは望んでいません。それはばかげています。私は機械が非常に高速に動作することを知っているので、それは問題ではありませんが、それ自体が怠け者であるか怠け者であるかのようなダムコードを持つのではなく、それを訂正するのに十分速いからです。
'if'文があなたの悩みの原因ではありません。 [Pythonコードをプロファイリングする](https://github.com/what-studio/profiling)でこれを見ることができますので、実際にプログラムのどの部分が最も時間を費やしているかを知ることができます。 –
これらの10,000,000件の仲介プログレスレポートを実際に印刷したいですか? O_o –
@Reblochon Masqueそれはすべてを印刷しません、10000回の繰り返しごとにステータスチェックを行います。 –