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

Python简单直方图代码输出不符合预期 如何调整实现目标格式

调整后可实现目标效果的代码

result1 = ["Progress","Progress(MT)","ModuleRT","Excluded"]
result2 = [3,4,3,5]
# 可根据实际表头长度调整列宽,保证对齐
COLUMN_WIDTH = 12

def histogram(list1, list2):
    # 打印表头,每个表头左对齐补空格到固定列宽
    print(''.join([item.ljust(COLUMN_WIDTH) for item in list1]))
    # 取计数最大值为直方图总高度,从最高行向下逐行打印
    max_height = max(list2)
    for current_row in range(max_height, 0, -1):
        line_content = ''
        for count in list2:
            # 当前列计数大于等于当前行号时输出*,否则输出空格,统一补到列宽
            line_content += '*'.ljust(COLUMN_WIDTH) if count >= current_row else ' '.ljust(COLUMN_WIDTH)
        print(line_content)

histogram(result1,result2)

关键修改说明

  • 新增固定列宽参数COLUMN_WIDTH,保证表头和每行星号的列对齐,你可以根据自己的表头长度调整数值
  • 先输出所有表头,通过ljust方法将每个表头补空格到统一列宽,避免排版错乱
  • 调整打印逻辑为从上到下逐行打印,先取所有计数的最大值作为直方图的总高度,从最高层往第一层遍历
  • 每一行内遍历所有类别的计数,计数大于等于当前行号时输出星号,否则输出等宽空格,保证横向排版符合预期
  • 已同步将你示例输出里的最后一个表头Exclude改为Excluded,如果需要保留原命名直接修改result1的最后一项即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:15:07