将数组的每一行与list中的系数相乘- Python



我是Python新手,需要帮助。下面是问题说明:

  • 我想通过将数组X的行(每行代表一个房子)与列表c中的系数相乘来计算三个房子中的每个房子的值,因此对于第一所房子:价格= (66x3000)+(5x200)+ (15x-50) +(2x5000) +(500x100) = 258.000
  • 不要使用numpy
  • 打印三套房子的价格

这是我目前所看到的:

# input values for three houses: 
#  - size [m^2], 
#  - size of the sauna [m^2], 
#  - distance to water [m], 
#  - number of indoor bathrooms, 
#  - proximity of neighbors [m]
X = [[66, 5, 15, 2, 500], 
[21, 3, 50, 1, 100], 
[120, 15, 5, 2, 1200]]
# coefficient values
c = [3000, 200 , -50, 5000, 100]
def predict(X, c):
price = 0
for i in range (len(X)):
for j in range (len(X[i])):
price += (c[j]*X[i][j])
print(price)    

predict(X, c)

输出为258250334350827100 .

程序将第二个和第三个房子的值与前一个结果相加,而不是返回每个房子的值。我该如何解决这个问题?

多谢!

移动行

price = 0

放入外部for循环:

def predict(X, c):
for i in range (len(X)):
price = 0
for j in range (len(X[i])):
...

最新更新