#打印菱形(对角线为奇数,7),如下:
*
***
*****
*******
*****
***
*
解法:菱形为对称结构,可以把菱形分为上下两个部分,此时关键要找准界限
可以使用两个for循环分别打印上下两部分(不建议)
可以使用一个for循环,嵌套if判断语句
方法:打印对角线长为7的菱形
for i in range(-3,4): #把对角线作为边界0
if i <= 0: #打印上半部分
print(' '*(-i) + '*'*(7+2*i))
else: #打印下半部分
print(' '*i + '*'*(7-2*i))
根据上面的方式,可以变形为给定对角线为任意奇数的菱形
n = int(input('请输入菱形对角线长度:'))
for i in range(-n//2,n//2+1):
if i <= 0:
print(' '*(-i) + '*'*(n+2*i))
else:
print(' '*i + '*'*(n-2*i))