小编Rev*_*o79的帖子

为什么这段代码在Python 3.3中运行得很好,而在Python 2.7中却不行?

我有以下代码(生成基本元胞自动机):

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)

python python-2.7 python-3.x

1
推荐指数
1
解决办法
218
查看次数

标签 统计

python ×1

python-2.7 ×1

python-3.x ×1