python练习7:打印菱形

发布时间:2019-08-02 11:00:08编辑:auto阅读(1902)

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



关键字