paython代码使用循环打印用*包含空白的菱形,菱形对角线相等且为奇数,空心菱形周围用*填满
时间: 2024-03-21 22:42:11 浏览: 57
好的,下面是使用循环打印用*包含空白的空心菱形的Python代码:
```python
n = int(input("请输入菱形的对角线长度:"))
# 上半部分
for i in range(n):
for j in range(n-i-1):
print(" ", end="")
for j in range(2*i+1):
if j == 0 or j == 2*i:
print("*", end="")
else:
print(" ", end="")
print("")
# 下半部分
for i in range(n-2, -1, -1):
for j in range(n-i-1):
print(" ", end="")
for j in range(2*i+1):
if j == 0 or j == 2*i:
print("*", end="")
else:
print(" ", end="")
print("")
# 填充周围的星号
for i in range(n):
for j in range(n-i-1):
print(" ", end="")
for j in range(2*i+1):
print("*", end="")
print("")
for i in range(n-2, -1, -1):
for j in range(n-i-1):
print(" ", end="")
for j in range(2*i+1):
print("*", end="")
print("")
```
输出结果如下(以对角线长度为7为例):
```
请输入菱形的对角线长度:7
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
```
其中,输入的n代表菱形的对角线长度,对角线长度必须为奇数。对于上半部分,先输出n-i-1个空格,再输出2i+1个字符,如果是第一个或最后一个字符,则输出星号,否则输出空格。对于下半部分,与上半部分类似,只是输出顺序相反。接下来,分别在上半部分和下半部分的周围分别填充星号。
阅读全文