filename = input().strip()

students = []
midterm1_scores = []
midterm2_scores = []
final_scores = []

# Read student data
with open(filename, 'r') as file:
    for line in file:
        last, first, m1, m2, final = line.strip().split('\t')
        m1 = int(m1)
        m2 = int(m2)
        final = int(final)

        avg = (m1 + m2 + final) / 3

        if avg >= 90:
            grade = 'A'
        elif avg >= 80:
            grade = 'B'
        elif avg >= 70:
            grade = 'C'
        elif avg >= 60:
            grade = 'D'
        else:
            grade = 'F'

        students.append((last, first, m1, m2, final, grade))

        midterm1_scores.append(m1)
        midterm2_scores.append(m2)
        final_scores.append(final)

# Write report.txt
with open('report.txt', 'w') as report:
    for s in students:
        report.write(
            f"{s[0]}\t{s[1]}\t{s[2]}\t{s[3]}\t{s[4]}\t{s[5]}\n"
        )

    avg_m1 = sum(midterm1_scores) / len(midterm1_scores)
    avg_m2 = sum(midterm2_scores) / len(midterm2_scores)
    avg_final = sum(final_scores) / len(final_scores)

    report.write("\n")

    report.write(
        f"Averages: midterm1 {avg_m1:.2f}, "
        f"midterm2 {avg_m2:.2f}, "
        f"final {avg_final:.2f}\n"
    )

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: