我有以下代码(生成基本元胞自动机):
def cellular_automaton(init_string,pattern,gens):
values=[128,64,32,16,8,4,2,1]
pattern_list=[]
k=0
while k<len(values):
if values[k]+sum(pattern_list)<=pattern:
pattern_list.append(values[k])
k=k+1
i=0
j=0
b=[]
f=''
pos_init=[0,1,0]
pos_interm=[]
pos_init=[[n,n+1,n] for n in range(len(init_string)-1)]
pos_interm.append(pos_init)
pos_interm[-1][-1].append(len(init_string)-1)
pos_interm[-1][-1].append(0)
pos_interm[0][0].insert(0,len(init_string)-1)
pos_interm2=[val for subl in pos_interm for val in subl]
pos=[val for subl in pos_interm2 for val in subl]
b.append(pos)
while j<gens:
pos=[i+len(init_string) for i in pos]
b.append(pos)
j=j+1
c=[val for subl in b for val in subl]
while i<len(c):
if init_string[c[i]]=='.' and init_string[c[i+1]]=='.' and init_string[c[i+2]]=='.':
if 1 in pattern_list:
init_string=init_string+'x'
else:
init_string=init_string+'.'
elif …Run Code Online (Sandbox Code Playgroud)