def pivot(N, B, A, b, c, v, l, e):'''N对应非基本元变量下标,B对应基本元变量下标,A对应非基本元在约束方程组中的系数相反数形成的矩阵,b对应约束条件中小于等于号右边的数值集合,c对应目标函数中变量系数形成的集合,v对应当前目标函数的取值,l对应转出变量下标在B中的位置,e对应转入变量下标在N中的位置'''b[l] = b[l] / A[l][e] #将给定等式的常数和除了传入变量意外的其他变量对应的系数除以转入变量对应的系数for j in range(len(A[0])):if j == e:continueA[l][j] = A[l][j] / A[l][e]A[l][e] = 1 / A[l][e] #这是等号左边变量转入右边后对应的系数for i in range(len(A)): #改变其他等式常数和变量系数if i == l:continueb[i] = b[i] - A[i][e] * b[l]for j in range(len(A[0])): if j == e:continueA[i][j] = A[i][j] - A[i][e] * A[l][j]A[i][e] = -A[i][e] * A[l][e] #由于A中元素对应约束条件中变量系数的相反数,因此A中元素相乘后符号会负负得正,因此前面要加个负号v = v + c[e] * b[l] #变量替换后目标修改目标函数的值for j in range(len(c)): #目标函数中转出变量替换成转入变量后修改相关xishu7if j =&