改后的代碼如下:(python3中input得到的結果是str類型的,要轉換才能用)
#!usr/bin/envpython3.5#-*-coding:utf-8-*-defCOUNTT(A,B,C):returnA[0]*B[1]*C[2]+B[0]*C[1]*A[2]+C[0]*A[1]*B[2]-C[0]*B[1]*A[2]-B[0]*A[1]*C[2]-A[0]*C[1]*B[2]M,N,P,Q=[0]*3,[0]*3,[0]*3,[0]*3foriinrange(3):print('請依次輸入第',i+1,'個方程的x,y,z的系數以及常數項:',end='')M[i],N[i],P[i],Q[i]=[float(items)foritemsininput().split(',')]D=COUNTT(M,N,P)ifD==0:print('根不存在或者有無窮多個根')else:print('x=',COUNTT(Q,N,P)/D)print('y=',COUNTT(M,Q,P)/D)print('z=',COUNTT(M,N,Q)/D)
執行結果:
[willie@bogonzhidao]$python3cramer.py
請依次輸入第1個方程的x,y,z的系數以及常數項:324,0,2,34
請依次輸入第2個方程的x,y,z的系數以及常數項:22,12,2,0
請依次輸入第3個方程的x,y,z的系數以及常數項:0,12,23,344
x=0.003796728971962617
y=-2.7377823208722742
z=16.384929906542055