Модуль Vector

Вы работаете в команде разработки игр, и вам поручено создать модуль для выполнения операций с векторами. Эти операции часто используются в игровой механике, например, при вычислении траектории объекта или определении расстояния между двумя объектами в игровом мире.

Вектор представлен списком чисел, где каждое число представляет компоненту вектора по каждой оси (например, [x, y, z] для трёхмерного вектора).

Ваша задача — создать модуль Python с именем vector.py, который предоставляет следующие функции:

  • add(): сложение двух векторов должно возвращать новый вектор, где каждая компонента является результатом сложения компонентов входных векторов на той же позиции.

  • subtract(): вычитание двух векторов должно возвращать новый вектор, где каждая компонента является результатом вычитания компонентов входных векторов на той же позиции.

  • dot_product(): вычисление скалярного произведения двух векторов через перемножение соответствующих компонентов двух векторов и суммирование всех этих произведений.

  • magnitude(): вычисление величины (модуля) вектора как квадратного корня из суммы квадратов всех компонентов вектора.

Ввод и вывод будут обрабатываться модулем main.py, вам нужно только реализовать модуль vector.py.

Входные данные

Выходные данные

print(add([1, 2, 3, 2], [4, 5, 6, -1]))

[5, 7, 9, 1]

print(subtract([5, 7, 9], [4, 5, 6]))

[1, 2, 3]

print(dot_product([1, 2, 3], [4, 5, 6]))

32

print(magnitude([1, 2, 3]))

3.7416573867739413

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue