使用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按递增顺序打印数字。
-
在行的末尾打印一个星号。
- 使用for循环遍历范围从n – 1到0(不包括0),步长为-1。
-
最后,使用特定的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*