• Предмет: Информатика
  • Автор: Mmkvykbg
  • Вопрос задан 3 месяца назад

Помогите пж решить задачу по питону
Дан файл f, содержащий строки с именами студентов и их оценками. Найти сред- ний балл каждого студента и записать его в новый файл g.

Ответы

Ответ дал: ggig77895
0

Ответ:

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')

Вас заинтересует