📜  给定矩形框形成的金字塔的高度(1)

📅  最后修改于: 2023-12-03 14:56:54.882000             🧑  作者: Mango

给定矩形框形成的金字塔的高度

对于给定的矩形框,可以构建出一座金字塔。金字塔的高度表示为整数h,金字塔的逐层递减,第一层有h个正方形,第二层有h-2个正方形,第三层有h-4个正方形…… 直至最后一层只剩下一个正方形。其中,每一层中的正方形都是紧密地接在一起的。下面是一个金字塔高度为3的例子:

  ___
 /   \
|     |
 \___/
实现方式
def print_pyramid(height):
    for i in range(height, 0, -2):
        # 打印每层金字塔的空格
        print(" " * ((height - i) // 2), end="")
        # 打印每层金字塔的边框
        print("/", end="")
        print(" " * (i - 2), end="")
        print("\\", end="")
        # 换行
        print()
    # 打印金字塔最后一层的边框
    print("/" + "_" * (height - 2) + "\\")
调用方法

只需调用print_pyramid函数并传入金字塔的高度即可。

print_pyramid(3)

这将输出如下结果:

  ___
 /   \
|     |
 \___/
总结

金字塔高度为h的实现方式就是从h开始倒序遍历,每次打印出一层金字塔的的空格和边框即可。这个算法的时间复杂度为O(h),不管h是多少,都不会影响算法的性能。