Python打印水平直方图时如何匹配result2分类标签对应输出
适配分类名绑定输出的修改后代码
result1 = [prg_count, prg_mt_count, dnt_prg_count, excld_count] total_students = prg_count + prg_mt_count + dnt_prg_count + excld_count # 如果需要匹配示例输出的"Excluded",可以把下一行最后一项修改为"Excluded" result2 = ["Progress", "Progress(MT)", "Do not Progress(MT)", "Exclude"] def histogram(count_list, name_list): for i in range(len(count_list)): # 输出分类名+冒号+对应数量的星号 print(f"{name_list[i]} : {'*' * count_list[i]}") print('_' * 30) print("水平直方图") histogram(result1, result2) print(total_students, "个结果总计") print('_' * 30)
核心修改说明
- 调整
histogram函数的入参,同时接收计数列表和分类名称列表 - 遍历过程中直接绑定对应位置的分类名和计数值逐行输出,匹配你要的效果
- 用Python字符串乘法特性生成对应数量的
*符号,简化原有嵌套循环逻辑,效果完全一致
如果需要让冒号位置对齐更美观,可以把输出行调整为:
print(f"{name_list[i]:<20} : {'*' * count_list[i]}")
<20代表分类名占20个字符左对齐,你可以根据实际分类名长度调整数值。
内容的提问来源于stack exchange,提问作者Alex Mercer
相关产品推荐
相关产品推荐

