Проблемы, усредняющие все оценки из файла "CSV" - PullRequest
0 голосов
/ 22 января 2019

Итак, я новичок в python, и мне трудно разобраться в этом коде. Я пытаюсь использовать «CSV-файл» с именем exam_grades.csv, а затем написать функцию, которая считывает все мои значения в файле, но использует метод split () класса string, чтобы разбить эту длинную строку на список строк. Каждая строка представляет оценку. Тогда моя функция должна вернуть среднее значение всех оценок.

Пока это то, что у меня есть; Я могу открыть файл .csv просто отлично, но у меня проблемы с усреднением всех оценок. У меня есть некоторые комментарии, потому что я уверен, куда идти из того, что я делал: (

def fileSearch():
    'Problem 4'
    readfile = open('exam_grades.csv', "r")
    for line in readfile:
        l = line.split(str(","))
        #num_grades = len(l)
        #averageAllGrades = l * 500 
        #return num_grades
        print(l)
fileSearch()

Любой совет? Спасибо!

1 Ответ

0 голосов
/ 22 января 2019

Большинство CSV-файлов имеют заголовок вверху, вы можете пропустить это, но для простоты, скажем, мы игнорируем это.

Вот код, который работает:

def fileSearch():
    'Problem 4'
    readfile = open('exam_grades.csv', "r")
    grade_sum = 0
    grade_count = 0
    for line in readfile:
        l = line.split(str(","))
        for grade in l:
            grade_sum += int(grade)
            grade_count += 1
    print(grade_sum/grade_count)

fileSearch()

Предполагается, что у вас есть несколько строк с оценками и несколько оценок в строке.

Здесь мы отслеживаем две переменные: сумму всех оценок и количество всех оценок, которые мы добавили в список.(мы также приводим к целым числам, так как вы собираетесь читать строки).

Когда вы складываете все оценки и делите их на количество оценок, вы получаете среднее значение.

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...