【发布时间】:2020-11-12 03:48:41
【问题描述】:
matrix_a = [[5, 0.9, 0.3, 0.2],
[0.2, 8, 0.7, 0.5],
[1, 0.3, 5.5, 0.4],
[0.2, 0.5, 0.7, 6]]
matrix_d = [7,
9,
-5,
6]
def kramer_method(matrix, solution, determinant):
for i in range(4):
temp_matrix = matrix[:]
for t in range(4):
temp_matrix[t][i] = solution[t]
print(temp_matrix)
print(id(temp_matrix) == id(matrix))
return
kramer_method(matrix_a,matrix_d,determinant)
结果:
[[7, 0.9, 0.3, 0.2], [9, 8, 0.7, 0.5], [-5, 0.3, 5.5, 0.4], [6, 0.5, 0.7, 6]]
[[7, 7, 0.3, 0.2], [9, 9, 0.7, 0.5], [-5, -5, 5.5, 0.4], [6, 6, 0.7, 6]]
[[7, 7, 7, 0.2], [9, 9, 9, 0.5], [-5, -5, -5, 0.4], [6, 6, 6, 6]]
[[7, 7, 7, 7], [9, 9, 9, 9], [-5, -5, -5, -5], [6, 6, 6, 6]]
False
问题是:为什么temp_matrix列表没有在循环开始时取原始矩阵值?
【问题讨论】: