[Clang 6.0 (clang-600.0.57)]
Type "help", "copyright", "credits" or "license" for more information.
[evaluate elevation.py]
update_elevation(THREE_BY_THREE_COPY, [1, 0], [1, 1], -2)
Traceback (most recent call last):
Python Shell, prompt 2, line 1
builtins.NameError: name 'THREE_BY_THREE_COPY' is not defined
def update_elevation(elevation_map: List[List[int]], start: List[int],
stop: List[int], delta: int) -> None:
"""Modify elevation map elevation_map so that the elevation of each
cell between cells start and stop, inclusive, changes by amount
delta.
Precondition: elevation_map is a valid elevation map.
start and stop are valid cells in elevation_map.
start and stop are in the same row or column or both.
If start and stop are in the same row,
start's column <= stop's column.
If start and stop are in the same column,
start's row <= stop's row.
elevation_map[i, j] + delta >= 1
for each cell [i, j] that will change.
>>> THREE_BY_THREE_COPY = [[1, 2, 1],
... [4, 6, 5],
... [7, 8, 9]]
>>> update_elevation(THREE_BY_THREE_COPY, [1, 0], [1, 1], -2)
>>> THREE_BY_THREE_COPY
[[1, 2, 1], [2, 4, 5], [7, 8, 9]]
>>> FOUR_BY_FOUR_COPY = [[1, 2, 6, 5],
... [4, 5, 3, 2],
... [7, 9, 8, 1],
... [1, 2, 1, 4]]
>>> update_elevation(FOUR_BY_FOUR_COPY, [1, 2], [3, 2], 1)
>>> FOUR_BY_FOUR_COPY
[[1, 2, 6, 5], [4, 5, 4, 2], [7, 9, 9, 1], [1, 2, 2, 4]]
"""
THREE_BY_THREE_COPY = [[1, 2, 1],
... [4, 6, 5],
... [7, 8, 9]]
FOUR_BY_FOUR_COPY = [[1, 2, 6, 5],
... [4, 5, 3, 2],
... [7, 9, 8, 1],
... [1, 2, 1, 4]]
if start[0]==stop[0]:
for num in range(stop[1]-start[1]):
elevation_map[start[0]][start[1+i]]=elevation_map[start[0]][start[1+i]]+delta
else:
for num in range(stop[0]-start[0]):
elevation_map[start[0]][start[1+i]]=elevation_map[start[0+i]][start[1]]+delta