def fun(list): #计算行列式的值(list是一个二维列表)
sum = sum1 = 0
for z in range(num): #该for循环作用是计算从左往右的斜乘积和
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): #该for循环作用是计算从右往左的斜乘积和
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
a = sum - sum1 #a就是该行列式的最终结果
return a
a = []
iu=[]
num=input('请输入是几阶:') #输入该行列式是几阶
count=0
for i in range(num*num): #输入的顺序是一列一列的输入(第一列即为一个列表)
u = input('请输入第%d个数:' %(i+1))
iu.append(u)
if (i+1) % num == 0:
a.append(iu)
iu=[]
print "该%d阶矩阵行列式的结果是:%d"%(num,fun(a)) #把a这个二维列表传入功能函数
样列输入:
请输入是几阶:3
请输入第1个数:7
请输入第2个数:9
请输入第3个数:0
请输入第4个数:2
请输入第5个数:0
请输入第6个数:1
请输入第7个数:3
请输入第8个数:2
请输入第9个数:1
输出的结果为:
该3阶矩阵行列式的结果是:-5