0

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

在此处输入图像描述

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

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()

我的输出: 在此处输入图像描述

任何帮助,将不胜感激!

4

2 回答 2

0

你的print陈述不是连续的。您首先创建

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

然后

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

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

它是如何工作的

打印* x次数。在同一行给一个空格 。然后打印****** *取决于它是第一行还是最后一行。('*' 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) + '*')
***** *****
***** *   *
***** *   *
***** *   *
***** *****
于 2021-02-25T07:06:52.753 回答
0

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

***** *****

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

***** *   *

我认为您应该能够根据需要修改您的代码。

于 2021-02-25T07:07:33.080 回答