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

Python编写render_histogram直方图绘制函数输出不符合预期求解

直方图打印函数修改方案

原有代码的问题在于将每个柱子的内容独立生成后直接按列拼接,不符合横向逐行打印直方图的逻辑:直方图需要从最高层开始,从上到下逐行生成,每行对应所有柱子在当前高度的显示状态。

修改后的代码如下:

def render_histogram(values):
    max_val = max(values)
    rows = []
    # 从最高行开始向下遍历每一层
    for current_height in range(max_val, 0, -1):
        row = []
        for val in values:
            # 当前柱子高度大于等于当前行高就显示*,否则显示空格
            row.append('*' if val >= current_height else ' ')
        rows.append(''.join(row))
    return '\n'.join(rows)

print(render_histogram([4, 5, 3, 8, 1]))

运行该代码即可输出你预期的垂直直方图效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:39:03