''' '''之间和#之后表示注释,总代码分为四部分,分别为,打印实心菱形上三角,打印实心菱形下三角,打印空心菱形上三角,打印空心菱形下三角,可根据需求进行增删代码,代码如下:
w=eval(input("请输入菱形行数(奇数)"))
if w%2==0:
w = eval(input("你输入的为偶数请重新输入菱形行数(奇数)"))
'''
菱形最中间一行最长,以最中间一行为分界线上下行数相等,所以菱形有奇数行,上方代码可以判断输入是否合法
'''
top_row=(w+1)//2
#top_row表示上半部分行数
#打印实心菱形
#打印上半部分实心
for i in range(1,top_row+1):
for j in range(1,top_row+1-i):
print(end=" ")
for k in range(1,i*2):
print(end="*")
print()
#打印下半部分实心
for i in range(1,top_row):
for j in range(1,i+1):
print(end=" ")
for k in range(1,2*top_row-2*i):
print(end="*")
print()
#打印空心菱形
#打印上半部分空心
for i in range(1,top_row+1):
for j in range(1,top_row+1-i):
print(end=" ")
for k in range(1,i*2):
if k==1 or k==i*2-1:#在打印*时判断一下只在开头和末尾打印*
print(end="*")
else:
print(end=" ")#剩余部分打印空格
print()
#打印下半部分空心
for i in range(1,top_row):
for j in range(1,i+1):
print(end=" ")
for k in range(1,2*top_row-2*i):
if k==1 or k==2*top_row-2*i-1:
print(end="*")
else:
print(end=" ")
print()