from random import randint board = [] for x in range(0, 10): board.append(["O"] * 10) def print_board(b): for row in b: print " ".join(row) print get_neighbors(b, 0, 0) print print def random_row(board): return randint(0, len(board) - 1) def random_col(board): return randint(0, len(board[0]) - 1) #takes a board, x coord, and y coord def is_alive(b, x, y): if x < 0 or x > 9 or y < 0 or y > 9: return False elif b[x][y] == 'O': return False else: return True #takes a board, x coord, and y coord def get_neighbors(b, x, y): total = 0; if is_alive(b, x - 1, y - 1): total += 1 if is_alive(b, x - 1, y): total += 1 if is_alive(b, x - 1, y + 1): total += 1 if is_alive(b, x, y - 1): total += 1 if is_alive(b, x, y + 1): total += 1 if is_alive(b, x + 1, y - 1): total += 1 if is_alive(b, x + 1, y): total += 1 if is_alive(b, x + 1, y + 1): total += 1 return total def next_frame(b): new_board = [] for x in range(0, 10): new_board.append(["O"] * 10) for i in range(0, 10): #print "Hit outer" for j in range(0, 10): #print "Hit inner" if b[i][j] == 'X': if get_neighbors(b, i, j) == 2 or get_neighbors(b, i, j) == 3: new_board[i][j] = 'X' #print "Alive at " + str(i) + "," + str(j) else: new_board[i][j] = 'O' else: if get_neighbors(b, i, j) == 3: new_board[i][j] = 'X' #print "Alive at " + str(i) + "," + str(j) print "returning" return new_board #Create initial pattern here board[3][2] = "X" board[3][3] = "X" board[3][4] = "X" board[2][4] = "X" board[1][3] = "X" #Start the iteration print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board) print_board(board) board = next_frame(board)
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