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的运算条件,则会输出结论提示】
【符合运算条件,输出结果】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现