Python程序展示具有2n-1行的菱形模式
假设我们有一个数字n。我们必须用带有2n-1行的星号绘制菱形模式。前1到n行包含1到n个星号,接下来它们从n-1递减到1。
因此,如果输入为n = 5,则输出将是
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
为了解决这个问题,我们将遵循以下步骤−
- 对于范围从1到n的i,执行以下操作
-
- 打印一个块’‘ i次,并在每行中使用(2n-1)个字符空格居中对齐打印
- 对于范围从n-1到0的i,递减1,执行以下操作
-
- 打印一个块’‘ i次,并在每行中使用(2n-1)个字符空格居中对齐打印
范例
让我们看一下以下实现以更好地理解
def solve(n):
for i in range(1,n+1):
print(('* '*i).center(2*n-1))
for i in range(n-1,0, -1):
print(('* '*i).center(2*n-1))
n = 10
solve(n)
输入
10
输出
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*