Я пытаюсь написать программу, которая считывает список CSV
оценки учащейся и делает следующее:программирования CSV чтение записи
Программа вычисляет средний экзамен для каждого студента и округляет его до целого числа, используя математику ceil, то он записывает имя и среднее значение экзамена в другой файл csv
под названием examScores.csv
Имена и оценки студентов в 5 точках максимального балла, например, если максимальный балл равен 98, тогда все печатные результаты> 93 должны быть напечатаны.
Число студентов, забивших в диапазоне 0 - 59, 60 - 69, 70 - 79, 80 - 89, 90 - 100 (чтобы отслеживать диапазоны, вы должны создать список счетчиков размером 5; при обработке номера в первом диапазоне вы обновляете местоположение 0, во втором диапазоне, местоположение 1 и т. д.).
У меня довольно тяжелое время с этим. Вот код, который я придумал до сих пор:
inpt1=open("grades.csv","r")
outpt1=open("examscores.csv","w")
studentname=[]
studentlastname=[]
gradeav=[]
highav=0
inpt1.readline()
for line in inpt1:
data=line.split(",")
averages=math.ceil(data[2])+float(data[3])/2
studentname.append(data[0])
studentlastname.append(data[1])
gradeav.append(averages)
inpt1.close()
outpt1.close()
Я не могу получить функцию CEIL математики для работы и мое Добавление данных не работает, как хорошо. Конечно, я не хочу, чтобы кто-то решал это для меня, просто нужен намек или толчок в правильном направлении.
Предлагаю посмотреть потоки, которые обеспечивают правильное открытие и чтение файлов csv, сохранение этих данных в список и внесение средних значений в списки. В вашем коде есть несколько ошибок, все из которых объясняются здесь великими примерами всех 3. В конечном счете, может быть проще использовать список словарей для хранения ваших данных, но если это становится слишком сложным, вы можете технически придерживаться кучи отдельных списков. – Chris