Python编写程序,输入正整数n(n为奇数),打印由*组成且高为n的空心菱形
时间: 2024-01-02 18:02:26 浏览: 129
Python实现打印实心和空心菱形
5星 · 资源好评率100%
以下是Python程序的实现:
```
n = int(input("请输入一个奇数n:"))
for i in range(n):
if i == n // 2:
print("*" * n)
elif i < n // 2:
print(" " * (n // 2 - i) + "*" + " " * (2 * i - 1) + "*")
else:
print(" " * (i - n // 2) + "*" + " " * (2 * (n - i) - 3) + "*")
```
程序的主体部分是一个for循环,从0到n-1遍历每一行。在循环体中,首先判断当前行是否为菱形的中心行。如果是,就输出n个星号;否则,需要根据当前行的位置输出一些空格和星号。具体来说,当前行在上半部分(即在中心行的上面)时,需要在行首输出一些空格,然后输出一个星号,接着输出一些空格和一个星号;当前行在下半部分时,输出空格和星号的个数需要根据当前行的位置计算得出。最终输出的就是一个空心菱形。
阅读全文