2015-01-29 3 views
0

Я хочу напечатать значение после каждого определенного интервала (1000) в последней строке кода, чем каждое отдельное значение.значения печати после каждого 1000 шага

DARTS=200000 
hits = 0 
throws = 0 
rangen = RanGenerator() 
pi = 0 
avg = 0 
mu = 0 
var = 0 
dev = 1 

for i in range (1, DARTS): 
    throws += 1 
    x = rangen.rand() 
    y = rangen.rand() 
    z = rangen.rand() 
    tt = x**2 + y**2 + z**2 
    dist = sqrt(tt) 
    if dist <= 1.0: 
     hits = hits + 1.0 
     pi = 6 * (hits/throws) 
     avg = avg + pi 
     mu = avg/throws 
     var = (var+(mu-pi)**2)/throws 
     dev = sqrt(var) 
     print("%d: %s" % (i,dev)) 

ответ

3

Это легко с оператором по модулю - он будет печатать значения только тогда, когда i делится на 1000:

if i % 1000 == 0: 
    print("%d: %s" % (i,dev)) 
+0

Я на самом деле думаю, что это был один из тех случаев, когда код-единственный ответ на самом деле Уместно. – SethMMorton

+0

@SethMMorton да это очень просто – grc

+0

круто! работал! Спасибо дружище –

Смежные вопросы