나는 500 번 실행해야하는 상당히 큰 루프가 있으며, 프로그래밍 언어를 사용하고 이러한 유형의 시뮬레이션을하는 것이 처음이다.파이썬 루프의 결과를 추적하는 가장 좋은 방법
하지만 각 결과를 문서화해야하며 목록 (table1)에 모두 0, 모두 1 또는 두 가지가 혼합되어 있으면됩니다.
500 시뮬레이션의 비율을 알아내는 데 가장 빠른 방법이 궁금해서 모든 0, 1 또는 혼합을 포함하는 목록이 만들어졌고 추가로 너무 느려지는 경우가있었습니다. 추가 할 경우, while 루프 전에이 개 부울 바르 (Has1s 및 Has0s)를 만드는 선택을위한
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 :'if "1" "0"은 유효하지만 매우 이상하고 가장 의도하지 않은 Python 코드입니다. 확인해야 할 코드는 무엇입니까? 3. 당신은 append() 메소드를 호출하지 않고있다. 이렇게하면 목록에 추가 할 내용을 말할 수 없습니다. 4.'files1 []'등은 유효한 Python이 아닙니다. –
두 개의 루프 중간에 두 가지를 가져오고 있습니까? – Ben