Udacity CS101:Python中的基本元胞自动机

时间:2012-08-07 02:00:20

标签: python computer-science cellular-automata

有谁能告诉我我的代码有什么问题(看起来似乎是“num”的行)。我得到的字符串索引超出了范围,但是在一个几乎相同的代码块中它似乎起作用。如果有一些我可以在python中看到的代码,我也希望看到它的链接。谢谢!

def cellular_automaton(s,p,n):
    p = bin(p+256)[3:]
    s=s.replace('x', '1').replace('.', '0')
    while n>0:
        N = len(s)
        r=''
        for i in range(N):
            num = int(s[(i - 1) % N] + s[i] + s[(i + 1) % N], 2)
            r += p[-1 - num]
            s = r
        n-=1
    s=s.replace('x', '1').replace('.', '0')
    return s

1 个答案:

答案 0 :(得分:0)

对不起,对不起!

问题似乎来自于行的不当缩进

s=r

我希望这对某人有用!此外,我也希望看到改进这种方法的建议。