Question: python 3.6 Conway's Game of Life Python 3.6 1 . count_neighbors(grid, r, c): Given a Grid and two integers indicating row/column position, count how many
python 3.6 Conway's Game of Life

|
| Python 3.6 1. count_neighbors(grid, r, c): Given a Grid and two integers indicating row/column position, count how many living neighbors there are. When a cell is on the edge or corner of our Grid, treat all none-existent neighbor positions as dead (they don't contribute to the returned count). Assume: the grid is a Grid; live and dead are strings of length one. Examples all use the grid g drawn to the right. g = [[False, False, False, False, True], [False, False, True, True, False], [False, True, False, False, True], [False, False, True, False, True], [False, False, False, True, False]] count_neighbors(g, 0, 0) 0 count_neighbors(g, 0, 4) 1 count_neighbors(g, 2, 4) 2 count_neighbors(g, 3, 2) 2 count_neighbors(g, 2, 3) 5
Given a Grid, create and return a new Grid that represents the next generation. Note that you will not be modifying the original Grid value each cell's next state is dependent on its neighbors' previous state, so updating one cell at a time would incorrectly mix generation info. Assume: grid is a Grid. Hint: Use previous definitions! Examples based on the GridStrings shown in GridString definition. boat_grid = [[False, False, False, False, False], [False, True, True, False, False], [False, True, False, True, False], [False, False, True, False, False], [False, False, False, False, False]] blinkerA_grid = [[False, False, False, False, False], [False, False, True, False, False], [False, False, True, False, False], [False, False, True, False, False], [False, False, False, False, False]] blinkerB_grid = [[False, False, False, False, False], [False, False, False, False, False], [False, True, True, True, False], [False, False, False, False, False], [False, False, False, False, False]] toad_grid = [[False, False, False, False, False, False], [False, False, False, True, False, False], [False, True, False, False, True, False], [False, True, False, False, True, False], [False, False, True, False, False, False], [False, False, False, False, False, False]] pulsar_grid = [[False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, True, True, True, False, False, False, True, True, True, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, False, False, True, True, True, False, False, False, True, True, True, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, True, True, True, False, False, False, True, True, True, False, False, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, True, False, False, False, False, True, False, True, False, False, False, False, True, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, True, True, True, False, False, False, True, True, True, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]] next_gen(gridA) gridBcopy next_gen(gridB) gridAcopy next_gen(gridC) gridCcopy
3. n_gens(grid, n=20): Given a Grid and a positive integer of how many generations to store, utilize your next_gen function to create a list with n generations in it, where the given grid is included as the first generation. Assume: grid is a Grid; n is a positive integer that may default to 20 when not given. Hints: Use your next_gen definition! you are returning a list of Grid values it is a list that is 3 levels deep! The examples would get pretty large rn indicates the same numbered generations from the page of r_pentomino steps; gridA, gridB, and gridC are also defined above (blinker and boat). r_pentomino_grid = [[False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, True, True, False, False], [False, False, False, False, False, False, False, True, True, False, False, False], [False, False, False, False, False, False, False, False, True, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False]] acorn_grid = [[False, False, False, False, False, False, False, False, False], [False, False, True, False, False, False, False, False, False], [False, False, False, False, True, False, False, False, False], [False, True, True, False, False, True, True, True, False], [False, False, False, False, False, False, False, False, False]] gosper_glider_grid = [[False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, False, False, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False, True, True, False], [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, True, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False, True, True, False], [False, True, True, False, False, False, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, True, True, False, False, False, False, False, False, False, False, True, False, False, False, True, False, True, True, False, False, False, False, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]] n_gens(r_pentomino,3) [r0, r1, r2] # see the last page n_gens(gridA,5) [gridA, gridB, gridA, gridB, gridA] n_gens(gridB,3) [gridB, gridA, gridB] n_gens(gridC,4) [gridC, gridC, gridC, gridC] n_gens([[False]]) [[[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]], [[False]]] #20 iterations provided by default
Thank in advance
|
count_1iving(grid): Given a Grid, count how many live cells there are; return that number o Assume: grid is a Grid o count-living([ [True, False,False], o count_living(True, True]]) [True,False,True], [False,False, True]]) 4 any_living(grid): Given a Grid, determine if any live cells are present. Return the bool answer o o o Assume: grid is a Grid any-living([[True, False, False], [True, False, True]]) any-living([[False,False, False],[False, False,False]]) True False on_grid(grid, r, c): Given a Grid and two integers indicating row/column position, determine if (r,c) is on the grid and return the answer as a boolean. o Assume: grid is a Grid; r and c are integers. o Hint: Remember, the grid is zero-indexed, and negative indexes are not to be used. o Examples use MxN on-grid 3x5 on-grid(c3x5 on-grid 3x5 on-grid(1x3 grid> as non-code placeholders for Grids, so that the examples are small grid, grid, grid>, grid>, ) -1,-1) 4) 1,3) True False True False , o # negatives not allowed 2, # bottom-right corner # o zero-indexing, remember? count_neighbors(grid, r, c): Given a Grid and two integers indicating row/column position, count how many living neighbors there are. When a cell is on the edge or corner of our Grid, treat all non- existent neighbor positions as dead (they don't contribute to the returned count) o Assume: grid is a Grid; live and dead are strings of length one. o Hint: Use your on grid definition! o Examples all use the grid g drawn to the right. . count-neighbors(g, , ) . count-neighbors(g,e, 4) count neighbors(g, 2,4) count_neighbors (g, count-neighbors(g, 3, 2, 2) 3)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts

2. next_gen(grid):


