日更成长营自学编程Python

自学Python:空心菱形图案

2022-03-24  本文已影响0人  小强聊成长

要求绘制空心菱形,在此基础上,还可以添加其他要求,如尽可能少地使用printf语句,或者由键盘输入正数n,并绘制出有2*n+1行的空心菱形图案。就是说还要可以指定菱形图案的大小,用行数来控制。

下面直接上代码:

########################

def lingxing(n):

    # 外层循环控制行数,从控制台输入的参数n即为菱形上半个三角形的行数

    for i in range(1, n + 1):

        for j in range(1, (n + i - 1) + 1):

            if j == n + 1 - i or j == n - 1 + i:

                print("* ", end="")

            else:

                print(" ", end="")

        print()

    # 打印下半个三角形

    # 外层循环控制行数,由于下半个三角形比上面的少一行,所以循环变量i的最大值为n-1

    for i in range(1, n):

        for j in range(1, (2 * n - 1 - i) + 1):

            if j == i + 1 or j == 2 * n - 1 - i:

                print("* ", end="")

            else:

                print(" ", end="")

        print()

if __name__ == "__main__":

    n = int(input("请输入菱形对称轴的行数n: "))

    lingxing(n)

########################

执行结果如下:

请输入菱形对称轴的行数n: 6

    *

    *  *

  *    *

  *      *

*        *

*          *

*        *

  *      *

  *    *

    *  *

    *

输入的N最少要>2,不然不成图形。

________________END______________

上一篇 下一篇

猜你喜欢

热点阅读