View difference between Paste ID: mUWnjAwN and cUk08bbg
SHOW: | | - or go back to the newest paste.
1
from __future__ import division
2
import itertools as it
3
import numpy as np
4
l = input('How many lattices?_')
5
m = input('How many markers?_')
6
sums = 0
7
sumcount = 0
8
pos = 1
9
neg = -1
10
L = it.product([-1,1], repeat =l)
11
M = range(0,l)
12
markers = it.combinations(M, m)
13
k = 0
14
for ring in L:
15
    for marker in markers:
16
        while k < 2*len(ring):
17
            ring = list(np.roll(ring,1))
18
            for x in marker:
19
                t = ring.pop(x)
20
                if t < 0:
21
                    ring.insert(x,pos)
22
                elif t > 0:
23
                    ring.insert(x,neg)
24
                else:
25
                    print('This is why we cant have nice things...')
26-
                sums = sums + abs(sum(ring))
26+
            sums = sums + abs(sum(ring))
27-
                sumcount = sumcount + 1
27+
            sumcount = sumcount + 1
28-
                k = k + 1
28+
            k = k + 1
29
        k = 0
30
    k = 0
31
         
32
print 'Average deviation: ', sums/sumcount