实现 auto_generate_report 函数
在这一步中,你将实现 auto_generate_report 函数来生成战斗报告。
打开 auto_generate_report.py 文件。在 auto_generate_report.py 文件中,auto_generate_report 函数应以文件路径列表作为输入,并返回作为字符串的战斗报告。该函数应从每个文件中读取数据,按 value 字段降序排序,然后生成战斗报告。
以下是 auto_generate_report 函数的初始代码:
def auto_generate_report(file_paths):
report = "战斗报告如下:\n"
for file_path in file_paths:
with open(file_path, "r") as file:
reader = csv.DictReader(file)
data = list(reader)
data.sort(key=lambda x: int(x["value"]), reverse=True)
base_name = file_path.split("/")[-1].split(".")[0].upper()
report += (
f"在基地 {base_name} 发生的战斗,按价值排序,如下所示:\n"
)
for row in data:
report += f"战斗 ID:{row['id']},价值:{row['value']},本次战斗的总参与者:{row['total']},受伤:{row['injured']},死亡:{row['dead']}。"
if row["dead"] == "0":
report += " 阵亡英雄:无。\n"
else:
report += f" 阵亡英雄:{row['hero']}。\n"
return report
要完成实现,你需要:
- 添加错误处理,以防文件路径无效或文件无法读取。
- 确保报告格式一致且易于阅读。
- 使用提供的示例输入测试
auto_generate_report 函数,并验证输出是否符合预期格式。