Welcome, guest | Sign In | My Account | Store | Cart

This program generates pattern based on very simple rule. This code can help those who are starting study of ca.

Python, 36 lines
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# This program genereates very simple one dimensional cellular automata
# URL: http://www.stephenwolfram.com/publications/articles/ca/83-cellular/2/text.html
# ALGORITHM:
# Basic Initial List
# Loop:
#       Update the List
#       Print current List
# End


size = 50
list = [0]*size # creates list with all 0's 
list[size/2] = 1 # sets middle element in list to 1

def update(list):
    '''This function updates list based on rule ( left XOR right here )'''
    temp = len(list)*[0]
    n = len(list)
    for i in range(1,n-1):
        temp[i] = list[i-1]^list[i+1]  # list[i] = list[i-1] XOR list[i+1
    return temp

def p(list):
    '''This function prints list with 'A' for 1 and ' ' for 0 value.''' 
    print ''
    for each in list:
        if each ==1:
            print 'A',
        else:
            print ' ',

if __name__=='__main__':
    '''This program generates snoflake pattern'''
    for i in range(size/2):
        p(list)
        list = update(list)
        
Created by TheMachineCharmer on Sun, 26 Oct 2008 (MIT)
Python recipes (4591)
TheMachineCharmer's recipes (4)

Required Modules

  • (none specified)

Other Information and Tasks