📅  最后修改于: 2023-12-03 15:37:48.621000             🧑  作者: Mango
在此次编程任务中,您将掌握如何使用给定数字N和模式,构造成一个数字方阵。
构造一个方阵,其中数字从1递增到N * N,则每个数字都用给定的模式替换。例如,如果模式为“*”,则方阵的第一行将是星号行,第二行将是第二个星号行,第三行将是第三个星号行,以此类推,最后一行将是N个星号的行。
程序将读取两个参数。第一个参数为模式,第二个参数为数字N。模式是一个字符串,N是一个整数。
程序将返回一个N * N的方阵。方阵内的数字将根据给定模式替换。方阵按行打印。
输入样例:
pattern = '*'
N = 3
输出样例:
['*', '*', '*']
['*', '*', '*']
['*', '*', '*']
def construct_matrix(pattern: str, N: int) -> List[List[str]]:
res = []
for i in range(N):
row = []
for j in range(N):
row.append(pattern)
res.append(row)
return res
本题要求的是方阵,我们可以用一个嵌套的for循环来实现。外层循环表示行数,内层循环表示列数。每一行都是相等的,所以在内层循环中,我们重复添加一个相同的元素N次,然后将这N个元素作为一行添加到方阵中。
最后,我们将方阵返回即可。因为它的每个元素是一个字符串,所以我们要指定最终返回值的类型为List[List[str]]
。