输入正整数n,打印由“*”组成的(2*n-1)×(2*n-1)菱形图案。
时间: 2024-09-12 17:03:02 浏览: 48
打印*号菱形
要打印由“*”组成的(2*n-1)×(2*n-1)的菱形图案,你可以遵循以下步骤:
1. 确定菱形的总行数为(2*n-1),其中n是输入的正整数。
2. 对于每一行,计算应该打印的“*”的数量。在菱形的上半部分(不包括中间行),每一行的星号数量从1开始逐渐增加到n,即第i行有i个星号(i从1开始计数)。在中间行,打印n个星号。菱形的下半部分(不包括中间行),每一行的星号数量从n-1开始逐渐减少到1。
3. 对于每一行,除了星号之外,两边还需要打印空格来保持菱形的形状。在每一行的开始,打印的空格数量为总星号数量的一半,向上取整。
下面是一个示例代码,用于打印给定n值的菱形图案(以n=3为例):
```python
def print_diamond(n):
# 计算总行数
total_rows = 2 * n - 1
# 打印菱形的上半部分(不包括中间行)
for i in range(1, n + 1):
stars = '*' * i
print(stars.center(total_rows))
# 打印菱形的中间行
print('*' * n)
# 打印菱形的下半部分(不包括中间行)
for i in range(n - 1, 0, -1):
stars = '*' * i
print(stars.center(total_rows))
# 输入正整数n
n = 3
print_diamond(n)
```
输出结果将是:
```
*
***
*****
***
*
```
阅读全文