私は500回実行する必要があるかなり大きなループがあります。プログラミング言語を使用してこのタイプのシミュレーションを行うのは初めてです。Pythonループの結果を追跡する最良の方法
しかし、各実行の結果と、リスト(table1)にすべての0、すべて1、またはその両方が含まれている場合は、文書化する必要があります。
500のシミュレーションのうち、どの割合が0になっているか、すべて1であるか、ミックスであるかを調べるために、どの方法が最も速いのか不思議に思っていました。
for x in range(0, 500):
times = 300
gamma_val = 2
table1 = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
total = 0.0
while total < times:
table = [0 for i in range (21)]
for d1 in range(21):
if table1[d1]:
table[d1] = -(1/gamma_val)*math.log((random.random()))
else:
table[d1] = -(math.log(random.random()))
####Goes on to make new table1 with changes, either all 1's, all 0's or a mix of 0s #########and 1s
files1 = 0
files01 = 0
files0 = 0
if "1" "0" in table1 == True:
files01 += 1
elif 1 in table == True:
files1 += 1
elif 0 in table1 == true:
files0 += 1
早すぎる最適化は、(大部分の)悪の根源です – GoingTharn
あなたのコードには適切な答えを与えるのが難しい複数の問題があります。 1.くぼみが壊れている。インデントはPythonのプログラムの意味を変え、適切な字下げがなければ、適切な意味を推論することは不可能です。 2. 'table1 == True:'の "1" "0"が有効であるが、非常に奇妙で最も意図的ではないPythonコードである。チェックするはずのこのコードは何ですか? 3.あなたは 'append()'メソッドを呼び出すのではなく、単にそれらを探しているだけです。このようにして、リストに追加したいものが何であるかを知ることは不可能です。 4. 'files1 []'などは有効なPythonではありません。 –
2つのループの途中で2つのものをインポートしていますか? – Ben