Python函数返回字典元组列表,如何转为指定文本格式并修正精度?
解决方法
你可以将每个水果的名称和格式化后的数值拼接成字符串,再用换行符连接所有字符串,最后返回这个多行字符串即可。
代码修改示例
def calulate_total_fruit_NorthMidSouth(): # 保留你原有的读取Excel、计算fruit_sums的代码 # ... output_lines = [] for fruit, total in fruit_sums.items(): # 格式化数值为两位小数,若为整数则去掉末尾的.00 formatted_num = "{:.2f}".format(total) if formatted_num.endswith('.00'): formatted_num = formatted_num[:-3] output_lines.append(f"{fruit} {formatted_num}") # 返回用换行符连接的字符串 return '\n'.join(output_lines)
效果说明
调用函数并打印结果时:
result = calulate_total_fruit_NorthMidSouth() print(result)
会输出符合要求的格式:
ananas 3962 apple 3304.08 waspeen 3767.40
注:原数值3767.3999999999996因浮点数精度问题,实际等价于3767.4,格式化后会显示为3767.40。如果需要严格截断到两位小数而非四舍五入,可以改用math.floor(total * 100) / 100处理,但可能存在精度丢失风险,需根据实际需求选择。
内容的提问来源于stack exchange,提问作者mightycode Newton
相关产品推荐
相关产品推荐

