Python——矩陣相加(采用矩陣相加數學計算方法實現)(tkinter實現)


本功能作者:
1.CSDN用戶(TDTX),TDTX主頁
   博客園用戶(TDTX),TDTX主頁

【矩陣相加】采用線性代數中,計算矩陣相加的方法實現
1.在點擊“矩陣相加”之前,要先點擊其余所有按鈕
2.本文具有能否相加的輸入檢查
3.矩陣的輸入方式:將每行依次輸入,變成行數為1的矩陣輸入

如:
4 5 6
1 2 3 輸入為:[4,5,6,1,2,3]

1.addmatrix.py

def addmatrix():
    import tkinter as tk
    linearwindow1=tk.Tk()
    linearwindow1.title("AddMatrix")
    linearwindow1.geometry("600x700")    
    def lie():
        lie=eval(e1.get())
    def smatrix1():
        global ma1
        ma1=eval(e2.get())
    def smatrix2():
        global ma2
        ma2=eval(e3.get())
    def dadm():
        lie=eval(e1.get())

        adma=[]        
#        print(ma1)
#        print(ma2)
        le=len(ma1)
#        print(le)
        co=0
        i=0
        if len(ma1)==len(ma2) and len(ma1)>0 and len(ma2)>0 and (len(ma1)%lie)==(len(ma2)%lie) and len(ma1)%lie==0 and len(ma2)%lie==0:
            while i<=le-1:
                adma.append(ma1[i]+ma2[i])
                i=i+1
    #        print(adma)
            i=0
            while i<=le-1:
                tx.insert('insert',adma[i])
                co=co+1
                if co%lie!=0:
                    tx.insert('insert','\t')
                if co%lie==0:
                    tx.insert('insert','\n')
                i=i+1
            tx.insert('insert','\n')
        else:
            tx.insert('insert',"結論:數據有誤,非同型矩陣,不能相加!")
    e1 = tk.Entry(linearwindow1,font=('Arial', 14))
    e1.pack()
    bt1=tk.Button(linearwindow1,text='確認列數',width=10,height=1,font=('Arial', 10),command=lie)
    bt1.pack()
    
    lb1=tk.Label(linearwindow1, text='在[]中以英文逗號分隔元素:\nexamp:[1,2,3,4,5,6]', bg='orange', font=('Arial', 12), width=30, height=2)
    lb1.pack()
    e2 = tk.Entry(linearwindow1,font=('Arial', 14))
    e2.pack()
    bt2=tk.Button(linearwindow1,text='確認矩陣A',width=10,height=1,font=('Arial', 10),command=smatrix1)
    bt2.pack()
    
    lb2=tk.Label(linearwindow1,text='在[]中以英文逗號分隔元素:\nexamp:[1,2,3,4,5,6]', bg='orange', font=('Arial', 12), width=30, height=2)
    lb2.pack()
    e3 = tk.Entry(linearwindow1,font=('Arial', 14))
    e3.pack()
    bt3=tk.Button(linearwindow1,text='確認矩陣B',width=10,height=1,font=('Arial', 10),command=smatrix2)
    bt3.pack()
    
    lb3=tk.Label(linearwindow1,text='------------------------------------------------------', bg='orange', font=('Arial', 12), width=30, height=1)
    lb3.pack()
    bt4=tk.Button(linearwindow1,text='矩陣相加',width=10,height=1,font=('Arial', 10),command=dadm)
    bt4.pack()
    lb4=tk.Label(linearwindow1,text='【A+B=C】C=:', bg='orange', font=('Arial', 12), width=30, height=2)
    lb4.pack()
    
    tx=tk.Text(linearwindow1,width=38,height=30)
    tx.pack()
    linearwindow1.mainloop()

2.結果示例

【若不符合A+B的運算條件,則會輸出結論提示】
請添加圖片描述
【符合運算條件,輸出結果】
請添加圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM