📜  基于给定模式使用给定数字 N 的数字构造方阵(1)

📅  最后修改于: 2023-12-03 15:37:48.621000             🧑  作者: Mango

基于给定模式使用给定数字 N 的数字构造方阵

在此次编程任务中,您将掌握如何使用给定数字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]]