首页 > 解决方案 > 我怎样才能让这个嵌套的for循环跳过二维数组中的第一个和最后一个列表,以便打印出一个被+包围的板?

问题描述

我的 Python 程序的目标是使用 2D 数组打印出用户指定的 N^N 板,并用 + 包围。为此,我首先创建了一个包含 N+2 行和 + 行的 2D 列表。然后使用嵌套的 for 循环,我尝试在除第一行和最后一行之外的每一行的索引 1 到 N+1(不包括)上用“”替换 +,这样我的代码就会打印出 N^ N板在里面,用+包围。但是,尽管在嵌套 for 循环中的 2D 列表中排除了它们的索引,但在擦除 + 时,我无法让我的程序跳过第一行和最后一行。

事先感谢您的帮助!

这是我的代码。

这是所需的输出(对于 N=5)

这是我的代码的输出。

标签: pythonmultidimensional-array

解决方案


要制作这种模式,您可以简单地使用 for 循环。

N = int(input())

for i in range(N+2):
    for j in range(N+2):
        if(i == 0 or i == N+1 or j == 0 or j == N+1):
            print('+', end = '')
        else:
            print(' ', end = '')
    print()

推荐阅读