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 Conway's Game of Life Python 3.6 1. count_neighbors(grid, r, c):

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 and two integers indicating row/column position, count how many2. next_gen(grid):

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

living neighbors there are. When a cell is on the edge or

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

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

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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!