@SRC Да, я добавил это к оригинальному ответу. Спасибо!

ема в том, что у меня есть эта функция:

def fuerza_repulsion(x):
    area = 100 * 100
    k = math.sqrt(area / len(self.grafo[0]))
    return ((k**2 / x) * c2)

и в этой строке

f_mod = self.fuerza_repulsion(math.sqrt(dx**2 + dy**2))

у меня есть эта ошибка:

Ошибка типа: fuerza_repulsion () принимает ровно 1 аргумент (2 дано)

Как я могу это исправить?

 Axnyff02 нояб. 2017 г., 18:39
В классе первым аргументом является сам объект, поэтому при вызове self.function (x) вы указываете два аргумента: self и x
 Basya02 нояб. 2017 г., 18:38
Является ли эта функция частью класса? Похоже, как вы это называете .... если это так, в качестве первого параметра должно быть указано «self»

Ответы на вопрос(1)

ваша функция является частью класса, и в этом случае первый аргумент функции должен бытьself, сам объект класса. (Также, как указывало @SRC, функции класса обычно называются «методами»)

Поэтому используйте:

def fuerza_repulsion(self, x):
    area = 100 * 100
    k = math.sqrt(area / len(self.grafo[0]))
    return ((k**2 / x) * c2)
 Fabian Ying02 нояб. 2017 г., 18:57
@SRC Да, я добавил это к оригинальному ответу. Спасибо!
 SRC02 нояб. 2017 г., 18:42
Я думаю, что в этом случае вы должны позвонить имmethods не функции. Нет?

Ваш ответ на вопрос