123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- import tkinter.messagebox
- import math
- from CGB import TK_DoneHS
- def HS_1():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制1次函数(点击取消可撤销未执行的函数)'):
- HS_List[1] = lambda x:x
- else:
- HS_List[1] = None
- def HS_2():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制2次函数(点击取消可撤销未执行的函数)'):
- HS_List[2] = lambda x:x**2
- else:
- HS_List[2] = None
- def HS_3():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制3次函数(点击取消可撤销未执行的函数)'):
- HS_List[4] = lambda x:x**3
- else:
- HS_List[4] = None
- def HS_D1():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制-1次函数(点击取消可撤销未执行的函数)'):
- HS_List[3] = lambda x:1/x
- else:
- HS_List[3] = None
- def HS_GH():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制根号函数(点击取消可撤销未执行的函数)'):
- HS_List[5] = lambda x:x**(1/2)
- else:
- HS_List[5] = None
- def HS_ZS():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制指数函数(点击取消可撤销未执行的函数)'):
- HS_List[6] = lambda x:10**x
- else:
- HS_List[6] = None
- def HS_DS():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制对数函数(点击取消可撤销未执行的函数)'):
- HS_List[7] = lambda x:math.log(x,2)
- else:
- HS_List[7] = None
- def HS_DS2():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制对数函数2(点击取消可撤销未执行的函数)'):
- HS_List[8] = lambda x:math.log(2,x)
- else:
- HS_List[8] = None
- def HS_sin():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制正弦函数(点击取消可撤销未执行的函数)'):
- HS_List[9] = lambda x:math.sin(x)
- else:
- HS_List[9] = None
- def HS_cos():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制余弦函数(点击取消可撤销未执行的函数)'):
- HS_List[10] = lambda x:math.cos(x)
- else:
- HS_List[10] = None
- def HS_tan():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制正切函数(点击取消可撤销未执行的函数)'):
- HS_List[11] = lambda x:math.tan(x)
- else:
- HS_List[11] = None
- def HS_cot():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制余切函数(点击取消可撤销未执行的函数)'):
- HS_List[12] = lambda x:1/math.tan(x)
- else:
- HS_List[12] = None
- def HS_sec():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制正割函数(点击取消可撤销未执行的函数)'):
- HS_List[13] = lambda x:1/math.cos(x)
- else:
- HS_List[13] = None
- def HS_csc():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制余割函数(点击取消可撤销未执行的函数)'):
- HS_List[11] = lambda x:1/math.sin(x)
- else:
- HS_List[11] = None
- def HS_arcsin():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反正弦函数(点击取消可撤销未执行的函数)'):
- HS_List[12] = lambda x:math.asin(x)
- else:
- HS_List[12] = None
- def HS_arccos():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反余弦函数(点击取消可撤销未执行的函数)'):
- HS_List[13] = lambda x:math.acos(x)
- else:
- HS_List[13] = None
- def HS_arctan():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反正切函数(点击取消可撤销未执行的函数)'):
- HS_List[14] = lambda x:math.atan(x)
- else:
- HS_List[14] = None
- def HS_arccot():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反余切函数(点击取消可撤销未执行的函数)'):
- HS_List[15] = lambda x:1/math.atan(x)
- else:
- HS_List[15] = None
- def HS_arcsec():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反正割函数(点击取消可撤销未执行的函数)'):
- HS_List[16] = lambda x:1/math.acos(x)
- else:
- HS_List[16] = None
- def HS_arccsc():
- global HS_List
- if tkinter.messagebox.askokcancel('提示', '是否绘制反余割函数(点击取消可撤销未执行的函数)'):
- HS_List[17] = lambda x:1/math.asin(x)
- else:
- HS_List[17] = None
- def HS_ZDY():
- global HS_List,Num
- get = TK_DoneHS.Done_HS()
- if get != None:
- HS_List[Num] = get
- Num += 1
- def close():
- global top
- try:TK_DoneHS.top.destroy()
- except:pass
- top.destroy()
- def CHS():
- global HS_List#绘制函数列表
- global Num,top
- Num = 18#字定义函数的序号
- HS_List = {}
- w_b=20
- top = tkinter.Tk() # 设置屏幕
- top.title('')
- top.resizable(width=False, height=False)
- top.geometry(f'+180+10')
- tkinter.Button(top, text="1次函数", command=HS_1, width=w_b, height=1).pack()
- tkinter.Button(top, text="2次函数", command=HS_2, width=w_b, height=1).pack()
- tkinter.Button(top, text="-1次函数", command=HS_D1, width=w_b, height=1).pack()
- tkinter.Button(top, text="3次函数", command=HS_3, width=w_b, height=1).pack()
- tkinter.Button(top, text="根号函数", command=HS_GH, width=w_b, height=1).pack()
- tkinter.Button(top, text="对数函数", command=HS_DS, width=w_b, height=1).pack()
- tkinter.Button(top, text="指数函数", command=HS_ZS, width=w_b, height=1).pack()
- tkinter.Button(top, text="对数底函数", command=HS_DS2, width=w_b, height=1).pack()
- tkinter.Button(top, text="sin函数", command=HS_sin, width=w_b, height=1).pack()
- tkinter.Button(top, text="cos函数", command=HS_cos, width=w_b, height=1).pack()
- tkinter.Button(top, text="tan函数", command=HS_tan, width=w_b, height=1).pack()
- tkinter.Button(top, text="cot函数", command=HS_tan, width=w_b, height=1).pack()
- tkinter.Button(top, text="csc函数", command=HS_csc, width=w_b, height=1).pack()
- tkinter.Button(top, text="sec函数", command=HS_sec, width=w_b, height=1).pack()
- tkinter.Button(top, text="arcsin函数", command=HS_arcsin, width=w_b, height=1).pack()
- tkinter.Button(top, text="arccos函数", command=HS_arccos, width=w_b, height=1).pack()
- tkinter.Button(top, text="arctan函数", command=HS_arctan, width=w_b, height=1).pack()
- tkinter.Button(top, text="arccot函数", command=HS_arctan, width=w_b, height=1).pack()
- tkinter.Button(top, text="arccsc函数", command=HS_arccsc, width=w_b, height=1).pack()
- tkinter.Button(top, text="arcsec函数", command=HS_arcsec, width=w_b, height=1).pack()
- tkinter.Button(top, text="自定义函数", command=HS_ZDY, width=w_b, height=3).pack()
- top.protocol('WM_DELETE_WINDOW', close)
- top.mainloop()
- return HS_List
|