используйте приведение int(x)
для преобразования str в int.По умолчанию все читается из файла как стр.
def average_ints():
integers = 0
num_ints = 0
avg = 0
with open("associate.txt") as f:
for line in f:
for i in line:
# if i in line: <- this should always be True
integers += int(i) # + integers <- += adds and stores
num_ints = num_ints + 1
avg = integers/num_ints
return avg
РЕДАКТИРОВАТЬ:
Я просто подумал, что вы, вероятно, проблема с частью for i in line:
.Линия должна быть разделена.попробуйте использовать for i in line.split(' ')
, если ваши целые числа разделены пробелом.
РЕДАКТИРОВАТЬ 2:
Если для каждой строки используется одно целое:
def average_ints():
integers = 0
num_ints = 0
avg = 0
with open("associate.txt") as f:
for line in f:
integers += int(line)
num_ints = num_ints + 1
avg = integers/num_ints
return avg