import math
class Vector():
vA = [3.183, 7.627]
def magnitude(vector):
sum = 0
i = 0
while i < len(vector):
sum += vector[i]
i += 1
return math.sqrt(sum)
def unitVector(vector):
print(1/(magnitude(vA) * vA))
Я пытаюсь закодировать некоторую линейную алгебру и вычислить единичные векторы для вектора 'vA', указанного выше. Когда я запускаю код, я получаю NameError: global name 'magnitude' is not defined
. Я не понимаю, почему у меня проблема с просто вызовом одной функции из другой.Проблемы с вызовами
Я начинаю с python, и я предполагаю, что у меня есть недоразумение в отношении классов и функций, но я просмотрел документацию и не могу найти ответ, который я ищу.
'self.magnitude' – Praveen
методы экземпляра нуждаются в параметре SELF –
Sidenote: NumPy библиотека, вероятно, лучше делать линейные вычисления алгебры –