Недавно начал изучать python...
Передо мной стоит задача:
spoilerИмеется файл с данными по успеваемости абитуриентов. Он представляет из себя набор строк, где в каждой строке записана следующая информация:
Фамилия;Оценка_по_математике;Оценка_по_физике;Оценка_по_русскому_языку
Поля внутри строки разделены точкой с запятой, оценки — целые числа.
Напишите программу, которая считывает файл с подобной структурой и для каждого абитуриента выводит его среднюю оценку по этим трём предметам на отдельной строке, соответствующей этому абитуриенту.
В качестве ответа на задание прикрепите полученный файл со средними оценками.
Если кратко то нужно вывести средний балл по предметам для каждого ученика, но при записи в файл типа float целого числа нуля после запятой нет.
вот код
#!/bin/python3
with open('1.txt') as txt, open('2.txt','w') as out:
s=txt.read().strip()
for p in range(s.count('\n')+1):
s=txt.readline().strip().split(';')
print ((float(s[1])+float(s[2])+float(s[3]))/3)#как должно быть файле
out.write((float(float(s[1])+float(s[2])+float(s[3]))/3))#запись в файл
out.write('\n')
with open('2.txt','r') as out:
g=out.read().strip()
print(g)#печать в файл
Почему так происходит? Как пофиксить?
Sample Input: чтение из файла
Петров;85;92;78
Сидоров;100;88;94
Иванов;58;72;85
Sample Output:
85.0
94.0
71.666666667