使用Python程序显示带有星边框的数字半菱形图案

使用Python程序显示带有星边框的数字半菱形图案

半菱形图案是一种几何图案,它类似于菱形的形状,但只覆盖了菱形的一半。

使用循环可以创建菱形图案。通过控制循环和每行打印的字符数,我们可以修改图案以实现不同的形状和排列。

在本文中,我们将编写一个Python程序,显示带有星边框的数字半菱形图案。

输入输出情况

让我们探索一些输入输出情况,以显示带有星边框的数字半菱形图案。

场景1−

Input: 
n = 3
Output:
*1*
*121*
*12321*
*121*
*1*

情景2 −

Input: 
n = 5
Output:
*1*
*121*
*12321*
*1234321*
*123454321*
*1234321*
*12321*
*121*
*1*

方法

我们可以按照以下步骤来显示带有星边框的数字半钻石图案:

  • 定义一个以输入n表示图案的行数的函数。

  • 从图案的上半部分开始:

    • 使用for循环遍历范围从1到n + 1(包括n+1)。

    • 对于每次迭代,在行的开头打印一个星号(*)。

    • 使用嵌套的for循环从1到i按递增顺序打印数字。

    • 在行的末尾打印一个星号。

  • 移动到图案的下半部分:

    • 使用for循环遍历范围从n – 1到0(不包括0),步长为-1。

    • 对于每次迭代,在行的开头打印一个星号(*)。

    • 使用嵌套的for循环从1到i按递增顺序打印数字。

    • 在行的末尾打印一个星号。

  • 最后,使用特定的n值调用函数以生成所需的输出。

示例

让我们看下面的Python程序,显示带有星边框的数字半钻石图案。

def print_half_diamond_pattern(n):
    # Upper half
    for i in range(1, n + 1):
        # Print stars
        print("*", end="")

        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")

        # Print numbers in decreasing order
        for j in range(i - 1, 0, -1):
            print(j, end="")

        # Print stars
        print("*")

    # Lower half
    for i in range(n - 1, 0, -1):
        # Print stars
        print("*", end="")

        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")

        # Print numbers in decreasing order
        for j in range(i - 1, 0, -1):
            print(j, end="")

        # Print stars
        print("*")


# define n value 
n = 9
print_half_diamond_pattern(n)

输出

*1*
*121*
*12321*
*1234321*
*123454321*
*12345654321*
*1234567654321*
*123456787654321*
*12345678987654321*
*123456787654321*
*1234567654321*
*12345654321*
*123454321*
*1234321*
*12321*
*121*
*1*

示例

在此示例中,模式由每行递增的数字组成,下半部分没有递减的数字。其余结构与前一个示例相同。

def print_half_diamond_pattern(n):
    # Upper half
    for i in range(1, n + 1):
        # Print stars
        print("*", end="")

        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")

        # Print stars
        print("*")

    # Lower half
    for i in range(n - 1, 0, -1):
        # Print stars
        print("*", end="")

        # Print numbers in increasing order
        for j in range(1, i + 1):
            print(j, end="")

        # Print stars
        print("*")


# define n value 
n = 5
print("Half diamond pattern: ")
print_half_diamond_pattern(n)

输出

Half diamond pattern: 
*1*
*12*
*123*
*1234*
*12345*
*1234*
*123*
*12*
*1*

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程