

怎么输出n刚菱形图案,n行沙漏,菱形和沙漏倒是能输出,但是n行没搞出来,
一个实现,如下:
n=int(input()) # 从输入获取行数
if n%2==0: # 如果是偶数,则将行数变为前一个奇数
n=n-1
# 打印菱形图案
for i in range(n//2+1): # 打印菱形上半部分图案
print(" "*(n//2-i),end="") # 打印每行开始的空格
print("*"*(2*i+1),end="") # 打印每行的星号
print() # 打印每行结束的换行
for i in range(n//2): # 打印菱形下半部分图案
print(" "*(i+1),end="") # 打印每行开始的空格
print("*"*(n-(2*(i+1))),end="") # 打印每行的星号
print() # 打印每行结束的换行
print()
# 打印沙漏图案
for i in range(n//2+1): # 打印沙漏上半部分图案
print(" "*i,end="") # 打印每行开始的空格
print("*"*(n-2*i),end="") # 打印每行的星号
print() # 打印每行结束的换行
for i in range(n//2): # 打印沙漏下半部分的图案
print(" "*(n//2-i-1),end="") # 打印每行开始的空格
print("*"*(3+2*i),end="") # 打印每行的星号
print() # 打印每行结束的换行
