Вам подаются на вход два вектора a и b в трехмерном пространстве. Реализуйте их скалярное произведение с помощью numpy и без
import numpy as np
def no_numpy_scalar(a, b):
a = []
b = []
s = 0
for i, j in zip(a, b):
s = s + a[i]*b[j]
result = s
return result
def numpy_scalar (a, b):
a = np.array([])
b = np.array([])
s = a.dot(b)
result = s
return result
в чем проблема? выдает Wrong answer
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Вы ведь итерируетесь не по индексам, а по самим элементам. Их и нужно перемножать. И непонятно ещё зачем вы заменяете аргументы пустыми массивами. Я исправил:
import numpy as np
def no_numpy_scalar(a, b):
s = 0
for x, y in zip(a, b):
s += x * y
return s
def numpy_scalar (a, b):
a = np.array(a)
b = np.array(b)
return a.dot(b)