"""
打印蝴蝶结
观察图形,发现从上到下有一个统一的规律。
可以在此暂停一下,思考一下,什么规律。
输入:
请输入行数:6
输出:
* *
** **
*******
** **
* *
"""
源码和注释奉上:
def print_bowing(num):
"""
打印一个蝴蝶结形状的图案。
参数:
num: int - 图形的高度(行数)
返回值:
无
"""
# 计算蝴蝶结中间空白部分的起始和结束位置
v = num // 2
start = 0 - v
end = v + 1
num += 1 # 调整num以确保图案的对称性
# 循环打印每一行
for i in range(start, end):
# 根据当前行的位置计算左右两边星号的数量
stars = '*' * ((num - abs(i) * 2) // 2)
spaces = ' ' * (abs(i) * 2)
print(stars + spaces + stars) # 打印当前行
if __name__ == '__main__':
# 从用户处接收输入,指定图形的行数
line_number = int(input('请输入行数:'))
print_bowing(line_number)
评论前必须登录!
注册