"""
打印菱形
方案一:
观察图形,前四行有个规律,后三行一个规律。
方案二:
从上到下有一个统一的规律,可以再次暂停一下,思考一下,看看能发现几个规律。
输入:
请输入行数:7
输出:
*
***
*****
*******
*****
***
*
"""
源码和注释奉上:
def print_diamond(num):
"""
打印一个钻石形状的图案。
参数:
num (int): 钻石的高度(同时也是宽度)。钻石的中心行将包含`num`个星号。
返回:
无返回值,直接打印出钻石形状的图案。
"""
v = num // 2 # 计算钻石上半部分的高度
start = 0 - v # 计算钻石上半部分的起始行
end = v + 1 # 计算钻石上半部分的结束行(同时也是下半部分的起始行)
for i in range(start, end):
spaces = ' ' * abs(i) # 根据行号计算空格数
stars = '*' * (num - abs(i) * 2) # 根据空格数计算星号数
print(spaces + stars) # 打印当前行的图案
if __name__ == '__main__':
line_number = int(input('请输入行数:')) # 从用户处接收输入的行数
print_diamond(line_number) # 调用函数,打印钻石图案
评论前必须登录!
注册