You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现可变高宽的圣诞树输出?

Python 实现指定样式圣诞树的方案

思路拆解

这个圣诞树可以拆成三个简单部分,用Python基础的循环和字符串拼接就能实现:

  • 树顶:2行窄星号行,每行星数递增2个
  • 树身:2行宽星号行,延续递增规律,和树顶衔接成完整树冠
  • 树干:3行居中的竖线,模拟树干

实现代码

# 设定圣诞树最宽处的星数(对应目标样式)
max_stars = 7

# 打印树顶
for i in range(2):
    star_line = '*' * (2 * i + 1)
    # 计算前置空格,让星号行居中
    space_line = ' ' * ((max_stars - len(star_line)) // 2)
    print(space_line + star_line)

# 打印树身
for i in range(2, 4):
    star_line = '*' * (2 * i + 1)
    space_line = ' ' * ((max_stars - len(star_line)) // 2)
    print(space_line + star_line)

# 打印树干
trunk_space = ' ' * ((max_stars - 1) // 2)
for _ in range(3):
    print(trunk_space + '|')

代码说明

  1. 居中逻辑:通过计算总宽度与当前行星数的差值,取一半作为前置空格,保证每行内容居中对齐
  2. 星数规律:每行星数用2*i+1生成,能实现每行比上一行多2个星的递增效果
  3. 可扩展性:如果想调整圣诞树大小,只需要修改max_stars的值;想加层数,直接修改循环的范围即可

内容的提问来源于stack exchange,提问作者wayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:35:19