Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
import random
count = 10
generation = 3
P1 = 33
P2 = 33
def check(matrix, x, y):
cd = 0;
for dx in range(-1,1):
for dy in range(-1,1):
if ((0<(x+dx)<count )&(0<(y+dy)<count )):
if (matrix[x+dx][y+dy]):
cd += 1
return cd>=3;
def print_gen(x):
for i in range(0,count-1):
s = "";
for j in range(0,count-1):
if x[i][j]:
s += "1"
else:
s += "0"
print s
x = [[False]*count for i in range(1, count)]
for cic in range(generation):
join = [ ([random.randint(0,100)<P1 for i in range(1, 10)]) for i in range(1, 10)]
depart = [ ([random.randint(0,100)<P2 for i in range(1, 10)]) for i in range(1, 10)]
y = x[:]
for i in range(0, count-1):
for j in range(0, count-1):
x[i][j] &= not(depart[i][j])
x[i][j] |= join[i][j]
x[i][j] |= check(y, i, j)
print "----", cic, " gen ----"
print_gen(x)
raw_input()
* This source code was highlighted with Source Code Highlighter.
Мне кажется, нужно добавить дополнительные
Моделирование развития социальной сети: игра «Социальная жизнь»