Помогите пж решить задачу по питону
Дан файл f, содержащий строки с именами студентов и их оценками. Найти сред- ний балл каждого студента и записать его в новый файл g.
Ответы
Ответ:
def calculate_average_grades(input_file, output_file):
# Словарь для хранения суммы баллов и количества оценок для каждого студента
student_grades = {}
# Чтение данных из файла f
with open(input_file, 'r') as f:
for line in f:
# Разделение строки на имя студента и оценку
parts = line.split()
student_name = parts[0]
grade = int(parts[1])
# Обновление данных в словаре
if student_name in student_grades:
student_grades[student_name][0] += grade
student_grades[student_name][1] += 1
else:
student_grades[student_name] = [grade, 1]
# Запись средних баллов в новый файл g
with open(output_file, 'w') as g:
for student_name, (total_grades, num_grades) in student_grades.items():
average_grade = total_grades / num_grades
g.write(f"{student_name} {average_grade:.2f}\n")
# Пример использования
calculate_average_grades('f.txt', 'g.txt')