#!/usr/bin/env python import sys def display_cell(cell): return '*' if cell else '-' def print_row(row): print ''.join([display_cell(cell) for cell in row]) def generate_next_cell(row, cellnum): lvalue = row[cellnum - 1] if cellnum > 0 else False rvalue = row[cellnum + 1] if cellnum < len(row) - 1 else False return lvalue != rvalue # same as logical XOR, which is what we want def generate_next_row(row): return [generate_next_cell(row, num) for num in xrange(len(row))] if __name__ == "__main__": import argparse parser = argparse.ArgumentParser(description = "Cellular Automata") parser.add_argument('--print-ruler', default=False, action="store_true", help="print a ruler for debugging") args = parser.parse_args() row = [False] * 64 row[31] = True ruler = '0123456789' * 7 if args.print_ruler: print ruler print_row(row) for rownum in xrange(32): row = generate_next_row(row) print_row(row) if args.print_ruler: print ruler sys.exit(0)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question