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 = "Battle report as follows:\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"Battles occurred at Base {base_name}, sorted by value, are as follows:\n"
)
for row in data:
report += f"Battle ID: {row['id']}, Value: {row['value']}, Total participants in this battle: {row['total']}, Injured: {row['injured']}, Dead: {row['dead']}."
if row["dead"] == "0":
report += " Heroes fallen: None.\n"
else:
report += f" Heroes fallen: {row['hero']}.\n"
return report
구현을 완료하려면 다음을 수행해야 합니다:
- 파일 경로가 유효하지 않거나 파일을 읽을 수 없는 경우 오류 처리를 추가합니다.
- 보고서 형식이 일관되고 읽기 쉽도록 합니다.
- 제공된 예제 입력을 사용하여
auto_generate_report 함수를 테스트하고 출력이 예상 형식과 일치하는지 확인합니다.