a = []
iu=[]
num=input('請輸入是幾元:') #輸入要求解的線性方程組是幾元的
count=0
for i in range(num*(num+1)): #將方程組對齊,把系數提出來做矩陣,之后按列輸入進去存儲起來
u = input('請輸入第%d個數:' %(i+1))
iu.append(u)
if (i+1) % num == 0:
a.append(iu)
iu=[]
def fun(list): #傳入參數list(list是一個二維列表)
sum = sum1 = 0
for z in range(num): #計算從左往右斜乘積之和
ss=1
row=-1
for g in range(z,z+num):
row+=1
ss *= list[row][g % num]
sum+=ss
for i in range(num-1, -1, -1): #計算從右往左斜乘積之和
zz=1
row = -1
for u in range(i,i-num,-1):
row+=1
if u<0:
zz*=list[row][num+u]
else:
zz*=list[row][u]
sum1+=zz
a1 = sum - sum1 #從右往左斜乘積之和減去從右往左斜乘積之和
return a1 #返回結果值a
y=fun(a) #得到分母的值,即系數行列式的值
for c in range(num): #把值組成的列替換第1至num列的其中一列
ff=a[:]
ff[c]=a[num]
print "x%d的值為:%d"%((c+1),(fun(ff)/y)) #得到num元方程組的未知數的解
#樣列輸入:
請輸入是幾階:3
請輸入第1個數:7
請輸入第2個數:9
請輸入第3個數:0
請輸入第4個數:2
請輸入第5個數:0
請輸入第6個數:1
請輸入第7個數:3
請輸入第8個數:2
請輸入第9個數:1
請輸入第10個數:0
請輸入第11個數:2
請輸入第12個數:7
#樣列輸出
x1的值為:-6
x2的值為:-21
x3的值為:28
7*x1+2*x2+3*x3=0
9*x1+0*x2+2*x3=2
0*x1+1*x2+1*x3=7
求出來的是該三元線性方程組的解。
