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

# Вычисляется скалярное произведение, как сумма произведений соответствующих компонент векторов.

# В данной задаче вам необходимо написать функцию dot_product(N, vector1, vector2), 
# вычисляющую скалярное произведение для двух заданных векторов одинаковой размерности N .

# Обратите внимание: в решении должно быть только объяевление одной функции dot_product и никакого другого кода.

# Аргументы функции
# Функция принимает в качестве аргументов размерность пространства N и 2 вектора. 
# Гарантируется, что размерности векторов совпадают. Векторы заданы списками длины N .

# Возвращаемое значение
# Функция должна возвращать одно число - - скалярное произведение заданных векторов.

# Примеры

# >> print(dot_product(3, [1, 2, 3], [1, 2, 3])
# 14
# >> print(dot_product(3, [1, 2, 3], [4, 5, 6])
# 32


def dot_product(N:int, vector1:list, vector2:list):
    result = 0
    for i in range(N):
        result += vector1[i] * vector2[i]
    return result


if __name__ == '__main__':
    print(dot_product(3, [1, 2, 3], [1, 2, 3]))
    print(dot_product(3, [1, 2, 3], [4, 5, 6]))

