使用python进行了简单的方程组计算,得到的输出结果却不对,最后发现用%f输出的结果是正确的7,%d输出直接变成6了,不知道为什么会出现这种情况,正确的z=7。求各位解答
源代码:
import numpy as np
# '''
# 方程式:
# x + y + z = 26
# x - y = 1
# 2x - y + z = 18
# '''
W = np.array([[1,1,1],[1,-1,0],[2,-1,1]])
result = np.array([26,1,18])
# 求逆
W_inv = np.linalg.inv(W)
vxyz = np.dot(W_inv,result)
v = list(vxyz)
print('结果:')
print('x = %d' % v[0])
print('y = %d' % v[1])
print('z = %f' % v[2])
print('z = %d' % v[2])
print(W_inv)