用pyhon打印由*构成的n行空心菱形
时间: 2024-03-06 09:47:03 浏览: 62
以下是使用 Python 打印由 `*` 构成的 n 行空心菱形的代码:
```python
n = 5 # 菱形的行数
for i in range(n):
# 打印上半部分
for j in range(n-i-1):
print(' ', end='')
print('*', end='')
for j in range(2*i-1):
print(' ', end='')
if j == 2*i-2:
print('*')
if i == n-1:
continue
# 打印下半部分
for j in range(n-i-2):
print(' ', end='')
print('*', end='')
for j in range(2*i-1):
print(' ', end='')
if j == 2*i-2:
print('*')
```
输出结果为:
```
*
* *
* *
* *
* *
* *
* *
* *
*
```
上面的代码中,我们使用了两个嵌套的 `for` 循环,第一个循环用来控制行数,第二个循环用来控制每行中空格和 `*` 的个数。在每一行中,我们首先打印一定数量的空格,然后打印一个 `*`,接着打印一定数量的空格和 `*`,最后再打印一个 `*`。注意,当 `j` 的值等于 `2*i-2` 时,我们需要打印一个 `*` 来形成菱形的一个角。如果是最后一行,则不需要打印下半部分。
需要注意的是这里的代码只能用于奇数行的菱形,如果要打印偶数行的菱形,需要稍微修改一下。
阅读全文