每 1000 步后打印值

print values after each 1000 step

我想在最后一行代码的每个特定间隔 (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))

这很容易用模运算符 - 只有当 i 可以被 1000 整除时它才会打印值:

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