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

Python初学者如何从列表取值并绘制树形图案?

解决Python列表绘制树形图案的问题

你的代码存在两个关键问题,导致无法呈现树形结构:

  • 处理完每一行的所有元素后没有执行换行操作,所有行的内容被拼接成一长串输出
  • 值为0时输出了字符"0",而非要求的空白字符

修正后的代码如下:

picture = [
  [0,0,0,1,0,0,0],
  [0,0,1,1,1,0,0],
  [0,1,1,1,1,1,0],
  [1,1,1,1,1,1,1],
  [0,0,0,1,0,0,0],
  [0,0,0,1,0,0,0]
]

for row in picture:
    line_content = ""
    for pixel in row:
        if pixel == 0:
            line_content += " "  # 用空白字符替代0
        else:
            line_content += "x"
    print(line_content)  # 每行处理完成后打印,自动换行

也可以用更简洁的写法,借助列表推导式快速生成每行内容:

for row in picture:
    print("".join("x" if pixel == 1 else " " for pixel in row))

运行后会得到正确的树形输出:

x   
  xxx  
 xxxxxx
xxxxxxx
   x   
   x   

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:45:41