Не нашел решение на ошибку AttributeError: 'list' object has no attribute
Во время написания другого кода, столкнулся с проблемой, что не могу заставить работать массив в функции. Решил написать более простой код, что бы понять в чем проблема. Сам решить ее я не смог.
class I():
def __init__(self, x, y):
self.x = x
self.y = y
def run(self):
print(self.x + self.y)
def run():
# b = I(1, 2)
# b.run()
arr = []
create_array(arr)
draw_array(arr)
def create_array(array):
array.append(I(1, 2))
array.append(I(2, 3))
array.append(I(3, 4))
def draw_array(array):
for i in array:
I.run(array)
run()
в ответе должно выводиться 3 5 7
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
У вас 2 ошибки, обе в одной команде. ;-)
В конце программы, в определении функции draw_array() вместо
I.run(array)
используйте
i.run() # строчная буква i; в скобках нет параметра
Переменной цикла for является строчная буква i, а у метода .run() класса I нет параметров (кроме «скрытого» параметра self, представляющего ссылку на конкретный объект класса I).