Python编写程序,输入正整数n(n为奇数),打印由*组成且高为n的空心菱形
时间: 2024-01-02 14:02:26 浏览: 68
以下是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个星号;否则,需要根据当前行的位置输出一些空格和星号。具体来说,当前行在上半部分(即在中心行的上面)时,需要在行首输出一些空格,然后输出一个星号,接着输出一些空格和一个星号;当前行在下半部分时,输出空格和星号的个数需要根据当前行的位置计算得出。最终输出的就是一个空心菱形。
相关问题
Python编写程序,输入正整数n(n为奇数),打印由*组成且高为n的菱形
n = int(input("请输入一个正整数n(n为奇数):"))
for i in range(n):
if i < n // 2 + 1:
print(" "*(n//2-i) + "*"*(2*i+1))
else:
print(" "*(i-n//2) + "*"*(2*(n-i)-1))
python编写程序,输入正整数n(n为奇数),打印由*组成且高为n的菱形
以下是 Python 代码:
n = int(input("请输入一个奇数:"))
for i in range(n):
if i < n // 2 + 1:
print(" " * (n // 2 - i) + "*" * (2 * i + 1))
else:
print(" " * (i - n // 2) + "*" * (2 * (n - i) - 1))