📜  程序打印空心金字塔和菱形图案(1)

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

程序打印空心金字塔和菱形图案

在编程中,我们经常需要打印出一些图案来展示程序的功能或者仅仅是为了好玩。本文将介绍如何使用程序打印出空心金字塔和菱形图案。

空心金字塔

空心金字塔是一种由星号(*)组成的图案,它看起来像一个倒置的三角形。在打印空心金字塔之前,我们首先需要确定金字塔的高度。下面是一个打印空心金字塔的代码示例:

def print_hollow_pyramid(height):
    for i in range(height):
        for j in range(height-i-1):
            print(" ", end="")
        for j in range(2*i+1):
            if j == 0 or j == 2*i or i == height-1:
                print("*", end="")
            else:
                print(" ", end="")
        print()

# 打印一个高度为5的空心金字塔
print_hollow_pyramid(5)

输出结果为:

    *    
   * *   
  *   *  
 *     * 
*********

在上面的代码中,我们首先使用两个嵌套的循环控制行和列的位置,然后判断当前位置是否需要打印星号或者空格。在打印星号时,我们需要额外判断是否处于每行的开头、结尾或者最后一行。

菱形图案

菱形图案由星号组成,呈现出一个菱形的形状。要打印菱形图案,我们同样需要确定菱形的高度。下面是一个打印菱形图案的代码示例:

def print_diamond(height):
    for i in range(height):
        for j in range(height-i-1):
            print(" ", end="")
        for j in range(2*i+1):
            print("*", end="")
        print()
    
    for i in range(height-2, -1, -1):
        for j in range(height-i-1):
            print(" ", end="")
        for j in range(2*i+1):
            print("*", end="")
        print()

# 打印一个高度为5的菱形
print_diamond(5)

输出结果为:

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

在上面的代码中,我们首先打印了上半部分菱形(和打印空心金字塔的方法相同),然后逆序打印下半部分菱形。

总结:

通过本文的介绍,我们学习了如何使用程序打印出空心金字塔和菱形图案。这些图案不仅可以用于展示程序的功能,还可以用于娱乐和美化输出。通过掌握打印图案的技巧,你可以在编程中增加一些有趣和创造性的元素。