在這裡插入**片
# n*n的行列式
n=int(input("請輸入乙個數n:"))
a_list=
for i in range(n):
for i in range(n):
a_list[i]=a_list[i].split(',')
for j in range(n):
a_list[i][j]=int(a_list[i][j])
print('你輸入的行列式為:')
for i in range(n):
for j in range(n):
if j==0:
print('|%d '%a_list[i][j],end='')
elif j==n-1:
print('%d|'%a_list[i][j])
else:
print('%d '%a_list[i][j],end='')
def a_getlist(a,sum,key,j,n):
if j==1:
for i in range(1,n+1):
sum=i*(10**key)
else:
for i in range(len(a)):
for k in range(1,n+1):
a[i]+=k*(10**key)
a[i]-=k*(10**key)
if key!=0:
a_getlist(a,sum,key-1,j+1,n)
sum=0
a=key=n
a_getlist(a,sum,key-1,1,n)
a.sort()
b_list=
for i in range(len(a)):
a[i]=str(a[i])
if '0' not in a[i]:
for i in range(len(b_list)):
b_list[i]=int(b_list[i])
a=b_list
def num(c,b_list):
len_c=len(str(c))
if len_c!=1:
b=c//(10**(len_c-1))
d=c%(10**(len_c-1))
num(d,b_list)
else:
b_list=
c_list=
d_list=
for i in a:
num(i,b_list)
b_list=
for i in range(len(c_list)):
if len(set(c_list[i]))==n:
def num_dict(a):
i_num=0
for i in range(len(a)):
for j in range(i,len(a)):
if a[i]>a[j]:
i_num+=1
return i_num
def num_qw(a):
if a%2==0:
return true
else:
return false
sum_sum=0
for i in d_list:
sum_s=1
for jk in range(n):
sum_s*=a_list[i[jk]-1][jk]
if num_qw(num_dict(i)):
sum_sum+=sum_s
else:
sum_sum+=(-1)*sum_s
print(sum_sum)
執行截圖:
注意:輸入n的大小應在2~7之間,否則會出錯。
用Python2 7實現矩陣類
import copy class matrix matrix class def init self,row,column,fill 0 self.shape row,column self.row row self.column column if isinstance fill,float o...
python資料分析裡axis 0 1 行列定義
df pd.dataframe 1,1,1,1 2,2,2,2 3,3,3,3 columns col1 col2 col3 col4 df 輸出 col1 col2 col3 col4 0111112 2222 3333 如果我們呼叫df.mean axis 1 我們將得到按行計算的均值 df.m...
n階行列式計算Python和C語言實現
這裡使用對角線法和遞迴降價代數余子式求和的方法。python遞迴求行列式 def det m if len m 0 return none elif len m 1 return m 0 0 else s 0 for i in range len m n row a for a in range l...