题解 | 矩阵和向量的点积
矩阵和向量的点积
https://www.nowcoder.com/practice/a7c9e4eb3b3745cf8d81d6159051937d
def matrix_vector_dot_product(matrix, vector): if not matrix or not vector: return -1 # 检查矩阵每行的列数是否一致 cols = len(matrix[0]) for row in matrix: if len(row) != cols: return -1 # 检查向量是否是二维的(例如[[1,2,3]]的情况) if isinstance(vector[0], list): return -1 # 检查矩阵的列数是否等于向量的长度 if cols != len(vector): return -1 # 计算点积 result = [] for row in matrix: product = sum(a * b for a, b in zip(row, vector)) result.append(product) return result # 主程序 if __name__ == "__main__": # 输入矩阵和向量 matrix_input = input() vector_input = input() # 处理输入 import ast matrix = ast.literal_eval(matrix_input) vector = ast.literal_eval(vector_input) # 调用函数计算点积 output = matrix_vector_dot_product(matrix, vector) # 输出结果 print(output)