📅  最后修改于: 2023-12-03 15:21:31.047000             🧑  作者: Mango
这是一个可以输出不同层次的菱形图案程序,其中层数由用户输入确定。
# 定义输出菱形的函数
def diamond(rows):
# 输出上半部分菱形
for i in range(rows):
print(' ' * (rows-i-1)+'*' * (2*i+1))
# 输出下半部分菱形
for i in range(rows-2, -1, -1):
print(' ' * (rows-i-1)+'*' * (2*i+1))
# 接收用户输入,确定层数
rows = int(input('请输入菱形层数(必须大于 0 且为奇数):'))
# 输出菱形
if rows > 0 and rows % 2 == 1:
diamond(rows)
else:
print('输入错误!')
首先我们定义一个diamond
函数,该函数的参数为菱形的层数。在函数体内,我们使用for
循环两次,分别输出菱形的上半部分和下半部分。这里需要注意的是,菱形的每一层由一个空格和若干个星号组成,空格数量和星号数量之和为该层的总长度。
在输出上半部分菱形时,我们使用了一个变量i
,它的取值范围是0
到rows-1
。在第i
层菱形中,空格数量为rows-i-1
,星号数量为2*i+1
。
在输出下半部分菱形时,我们也使用了一个变量i
,它的取值范围是rows-2
到0
。在第i
层菱形中,空格数量同样为rows-i-1
,星号数量为2*i+1
。
程序先使用input
函数接收用户输入。为了保证程序的正确性,用户必须输入一个大于0
的奇数,否则会输出错误提示信息。
如果用户输入的数值正确,程序会调用diamond
函数输出相应层数的菱形。
请输入菱形层数(必须大于 0 且为奇数):7
*
***
*****
*******
*********
*******
*****
***
*
本程序通过定义函数和循环语句,实现了输出不同层数菱形的功能。同时,为了增加程序的健壮性,还使用了条件判断和错误提示信息。