Одна из вещей, которую я должен сделать, это найти средний уровень инфляции из данных в файле, который мне был дан. Он дает year
, interest
и inflation
, со всеми цифрами под ним. Выглядит примерно так.Поиск среднего значения в файле
year interest inflation
1900 4.61 8.1
Это происходит совсем немного дальше, вплоть до 2008 года я сделал некоторый прогресс с некоторой помощью, любезно germancoder. Я все еще застрял.
Вот как выглядит код на данный момент.
def myTest(file):
with open ('filename', 'r') as f:
inflation = []
header = 1
for line in f:
if header !=1:
infl = line.split(",")[2]
inflation.append(float(infl))
header += 1
avgInflation = sum(inflation)/len(inflation)
return avgInflation
Проблема, я думаю, заключалась в том, что рост инфляции в течение года вызывал проблемы. Поэтому с помощью я добавил материал в код, но я все еще получаю сообщение об ошибке. Он говорит деление на нулевую ошибку, строка 11. Любые мысли о том, что я должен делать сейчас?
Фактическое имя файла: Inflation.csv. Я сам сделал простую программу, которая печатает ее в интерпретаторе, которая показывает ее разделенным запятыми, поэтому почему я сделал (",")
Если значение len (инфляция) равно нулю, это означает, что вы никогда ничего не добавляете в свой список инфляции. И вы никогда ничего не добавляете в свой список, потому что вы установили заголовок в 1 и выполняете только действия, когда заголовок не равен 1. –
Вы установили header = 1. Итак, если блок никогда не будет выполнен. Массив инфляции имеет размер 0, деление на нулевую ошибку неизбежно. – acsrujan
Вы передаете 'файл', но не используете его. (Также, плохая идея использовать переменную с тем же именем, что и встроенная.) – tripleee