普通菱形
row=eval(input('请输入菱形的行数:'))
while row%2==0:#只有奇数行才会输出菱形
print('请重新输入菱形的行数!')
row = eval(input('请输入菱形的行数:'))
#菱形的上半部分
top_row=(row+1)//2
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()
#菱形的下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*bottom_row-2*i+2):
print('*',end='')
print()
运行结果:
空心菱形
row=eval(input('请输入菱形的行数:'))
while row%2==0:#只有奇数行才会输出菱形
print('请重新输入菱形的行数!')
row = eval(input('请输入菱形的行数:'))
#菱形的上半部分
top_row=(row+1)//2
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()
#菱形的下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*bottom_row-2*i+2):
if k == 1 or k == 2*bottom_row-2*i+1:
print('*', end='')
else:
print(' ', end='')
print()
运行结果: