如何一个接一个地获得星号图案?

How to get asterisk pattern one after another?

我想在同一个程序中打印两个图案,但一个在另一个前面,如下所示:

我已经编写了其余代码,但我的模式缩进正常:

x = input("Please enter any number: ")

for i in range(0,5):
    for j in range(0,5):
        print('*', end="")
    print()

print("\n")
for i in range(0,5):
    for j in range(0,5):
        if (i==0 or i==5-1 or j==0 or j==5-1):
            print('*', end='')
        else:
            print(' ', end= '')
    print()

我的输出:

如有任何帮助,我们将不胜感激!

您的 print 陈述不是连续的。您是第一次创建

*****
*****
*****
*****
*****

然后

*****
*   *
*   *
*   *
*****

但您需要同时创建每一行。

工作原理

打印*x次。在同一行给出一个 space 。然后打印 ****** * 取决于它是第一行还是最后一行。 ('*' if i in [0, x-1] else ' ')*(x-2) 正在检查相同的条件。

x = int(input("Please enter any number: "))
for i in range(x):
    print('*'*x + ' ' + '*' + ('*' if i in [0, x-1] else ' ')*(x-2) + '*')
***** *****
***** *   *
***** *   *
***** *   *
***** *****

你知道在第一行和最后一行中,你必须创建以下内容:

***** *****

在第 2 到第 (n-1) 行中,您知道必须将其格式化为:

***** *   *

我认为您应该能够根据需要使用这些知识修改您的代码。