python练习7:打印菱形

2023-01-31 01:01:45 python 打印 菱形

#打印菱形(对角线为奇数,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))



相关文章