sympy是一个库,需自己下载
pip install sympy
导入库:
from sympy import *
import tkinter as tk
from tkinter.messagebox import*
主函数:
def reg():
try:
Q=w.get()
x = Symbol('x')
H["text"]=solve([Q], [x])
except ValueError:
H["text"]="错误,已跳转到帮助"
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解一元一次方程,且未知数为x")
def iop():
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5*x + 20 = 100——5*x + 20 - 100,此程序只能解一元一次方程,且未知数为x")
def asd():
def jkl():
try:
ER=DC.get()
E=n.get()
x = Symbol('x')
y = Symbol('y')
L["text"]=solve([ER,E], [x,y])
except ValueError:
L["text"]="错误,已跳转到帮助"
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解二元一次方程,且未知数分别为x,y")
def bnm():
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解二元一次方程,且未知数分别为x,y")
p=tk.Tk()
p.wm_title("解方程")
p.geometry("280x80")
DC=tk.Entry(p)
DC.place(x=50,y=10)
b=tk.Label(p,text="方程1:")
b.place(x=10,y=10)
n=tk.Entry(p)
n.place(x=50,y=30)
o=tk.Label(p,text="方程2:")
o.place(x=10,y=30)
y=tk.Button(p,text="确认",command=jkl)
y.place(x=10,y=50)
L=tk.Label(p,text="")
L.place(x=60,y=55)
f=tk.Button(p,text="帮助",command=bnm)
f.place(x=220,y=50)
tk.mainloop()
基本:
f=tk.Tk()
f.wm_title("解方程")
f.geometry("280x80")
w=tk.Entry(f)
w.place(x=50,y=20)
z=tk.Label(f,text="方程:")
z.place(x=10,y=20)
a=tk.Button(f,text="确认",command=reg)
a.place(x=10,y=50)
H=tk.Label(f,text="")
H.place(x=60,y=50)
g=tk.Button(f,text="帮助",command=iop)
g.place(x=180,y=50)
h=tk.Button(f,text="二元一次",command=asd)
h.place(x=220,y=50)
tk.mainloop()
完整代码:
from sympy import *
import tkinter as tk
from tkinter.messagebox import*
def reg():
try:
Q=w.get()
x = Symbol('x')
H["text"]=solve([Q], [x])
except ValueError:
H["text"]="错误,已跳转到帮助"
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解一元一次方程,且未知数为x")
def iop():
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5*x + 20 = 100——5*x + 20 - 100,此程序只能解一元一次方程,且未知数为x")
def asd():
def jkl():
try:
ER=DC.get()
E=n.get()
x = Symbol('x')
y = Symbol('y')
L["text"]=solve([ER,E], [x,y])
except ValueError:
L["text"]="错误,已跳转到帮助"
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解二元一次方程,且未知数分别为x,y")
def bnm():
showinfo(title="帮助",message="将等于号换成减号,将Sx换成S*x(S是一个数),例:5x + 20 = 100——5*x + 20 - 100,此程序只能解二元一次方程,且未知数分别为x,y")
p=tk.Tk()
p.wm_title("解方程")
p.geometry("280x80")
DC=tk.Entry(p)
DC.place(x=50,y=10)
b=tk.Label(p,text="方程1:")
b.place(x=10,y=10)
n=tk.Entry(p)
n.place(x=50,y=30)
o=tk.Label(p,text="方程2:")
o.place(x=10,y=30)
y=tk.Button(p,text="确认",command=jkl)
y.place(x=10,y=50)
L=tk.Label(p,text="")
L.place(x=60,y=55)
f=tk.Button(p,text="帮助",command=bnm)
f.place(x=220,y=50)
tk.mainloop()
f=tk.Tk()
f.wm_title("解方程")
f.geometry("280x80")
w=tk.Entry(f)
w.place(x=50,y=20)
z=tk.Label(f,text="方程:")
z.place(x=10,y=20)
a=tk.Button(f,text="确认",command=reg)
a.place(x=10,y=50)
H=tk.Label(f,text="")
H.place(x=60,y=50)
g=tk.Button(f,text="帮助",command=iop)
g.place(x=180,y=50)
h=tk.Button(f,text="二元一次",command=asd)
h.place(x=220,y=50)
tk.mainloop()
可以解一元一次方程或二元一次方程