这个问题要求你写两个涉及的函数 矩阵/整数网格, 由二维列表表示。
(a)写函数multiply_perimeter,其中 接受一个二维的整数列表 (代表数字和任意大小的网格) 并将所乘的值相乘 给定的网格周长 乘数参数,改变参数列表。 网格的周长定义为 网格的最外面的行和列。
例如,在由...表示的网格中 L = [[1,2,3,4],[5,6,7,8],[9,10,11,12]], 函数callmultiply_perimeter(L,2) 将对下面网格中的粗体值进行操作,通过将周长加倍来改变网格 值右侧的结果。
1 2 3 4 2 4 6 8
5 6 7 8 10 6 7 16
9 10 11 12 would become 18 20 22 24
这是我到目前为止所拥有的:
def multiply_perimeter(L: [[int]], multiplier: int) -> None:
for x in L:
x[0] = x * multiplier
x[-1] = x * multiplier
for y in x:
答案 0 :(得分:0)
指南:
一种可能的方式
答案 1 :(得分:0)
您可以使用以下代码实现它:
def multiply_perimeter(L: [[int]], multiplier: int) -> None:
size = len(L)
if size > 0:
# multiply only the first and last element in the lists L[1]...L[size-2]
for _ in range(1, size-1):
L[_][0] *= multiplier
L[_][-1] *= multiplier
# multiply first and last line elements by multiplier
L[0] = [item*multiplier for item in L[-1]]
L[-1] = [item*multiplier for item in L[-1]]