Python实现的科学计算器功能示例
发布时间 - 2026-01-11 02:39:03 点击率:次本文实例讲述了Python实现的科学计算器功能。分享给大家供大家参考,具体如下:
import wx
import re
import math
# begin wxGlade: extracode
# end wxGlade
ans=0
ts=""
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.text_ctrl_1 = wx.TextCtrl(self, -1, "" ,style=wx.TE_READONLY)
self.text_ctrl_2 = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY)
self.button_37 = wx.Button(self, -1, "7")
self.button_38 = wx.Button(self, -1, "8")
self.button_39 = wx.Button(self, -1, "9")
self.button_40 = wx.Button(self, -1, "+")
self.button_41 = wx.Button(self, -1, "-")
self.button_42 = wx.Button(self, -1, "4")
self.button_43 = wx.Button(self, -1, "5")
self.button_44 = wx.Button(self, -1, "6")
self.button_45 = wx.Button(self, -1, "x")
self.button_46 = wx.Button(self, -1, "/")
self.button_47 = wx.Button(self, -1, "1")
self.button_48 = wx.Button(self, -1, "2")
self.button_49 = wx.Button(self, -1, "3")
self.button_50 = wx.Button(self, -1, "(")
self.button_51 = wx.Button(self, -1, ")")
self.button_52 = wx.Button(self, -1, "0")
self.button_53 = wx.Button(self, -1, ".")
self.button_54 = wx.Button(self, -1, "ans")
self.button_55 = wx.Button(self, -1, "clear")
self.button_56 = wx.Button(self, -1, "=")
self.button_57 = wx.Button(self, -1, "pi")
self.button_58 = wx.Button(self, -1, "e")
self.button_59 = wx.Button(self, -1, "1/x")
self.button_60 = wx.Button(self, -1, "x^2")
self.button_61 = wx.Button(self, -1, "x^y")
self.button_62 = wx.Button(self, -1, "sqrt")
self.button_63 = wx.Button(self, -1, "sin")
self.button_64 = wx.Button(self, -1, "cos")
self.button_65 = wx.Button(self, -1, "tan")
self.button_66 = wx.Button(self, -1, "log")
self.button_67 = wx.Button(self, -1, "ln")
self.button_68 = wx.Button(self, -1, "n!")
self.button_69 = wx.Button(self, -1, "mod")
self.button_70 = wx.Button(self, -1, "int")
self.button_71 = wx.Button(self, -1, "yu")
self.button_72 = wx.Button(self, -1, "|")
self.button_73 = wx.Button(self, -1, "~")
self.button_74 = wx.Button(self, -1, "xor")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON, self.bu37, self.button_37)
self.Bind(wx.EVT_BUTTON, self.bu38, self.button_38)
self.Bind(wx.EVT_BUTTON, self.bu39, self.button_39)
self.Bind(wx.EVT_BUTTON, self.bu40, self.button_40)
self.Bind(wx.EVT_BUTTON, self.bu41, self.button_41)
self.Bind(wx.EVT_BUTTON, self.bu42, self.button_42)
self.Bind(wx.EVT_BUTTON, self.bu43, self.button_43)
self.Bind(wx.EVT_BUTTON, self.bu44, self.button_44)
self.Bind(wx.EVT_BUTTON, self.bu45, self.button_45)
self.Bind(wx.EVT_BUTTON, self.bu46, self.button_46)
self.Bind(wx.EVT_BUTTON, self.bu47, self.button_47)
self.Bind(wx.EVT_BUTTON, self.bu48, self.button_48)
self.Bind(wx.EVT_BUTTON, self.bu49, self.button_49)
self.Bind(wx.EVT_BUTTON, self.bu50, self.button_50)
self.Bind(wx.EVT_BUTTON, self.bu51, self.button_51)
self.Bind(wx.EVT_BUTTON, self.bu52, self.button_52)
self.Bind(wx.EVT_BUTTON, self.bu53, self.button_53)
self.Bind(wx.EVT_BUTTON, self.bu54, self.button_54)
self.Bind(wx.EVT_BUTTON, self.bu55, self.button_55)
self.Bind(wx.EVT_BUTTON, self.bu56, self.button_56)
self.Bind(wx.EVT_BUTTON, self.bu57, self.button_57)
self.Bind(wx.EVT_BUTTON, self.bu58, self.button_58)
self.Bind(wx.EVT_BUTTON, self.bu59, self.button_59)
self.Bind(wx.EVT_BUTTON, self.bu60, self.button_60)
self.Bind(wx.EVT_BUTTON, self.bu61, self.button_61)
self.Bind(wx.EVT_BUTTON, self.bu62, self.button_62)
self.Bind(wx.EVT_BUTTON, self.bu63, self.button_63)
self.Bind(wx.EVT_BUTTON, self.bu64, self.button_64)
self.Bind(wx.EVT_BUTTON, self.bu65, self.button_65)
self.Bind(wx.EVT_BUTTON, self.bu66, self.button_66)
self.Bind(wx.EVT_BUTTON, self.bu67, self.button_67)
self.Bind(wx.EVT_BUTTON, self.bu68, self.button_68)
self.Bind(wx.EVT_BUTTON, self.bu69, self.button_69)
self.Bind(wx.EVT_BUTTON, self.bu70, self.button_70)
self.Bind(wx.EVT_BUTTON, self.bu71, self.button_71)
self.Bind(wx.EVT_BUTTON, self.bu72, self.button_72)
self.Bind(wx.EVT_BUTTON, self.bu73, self.button_73)
self.Bind(wx.EVT_BUTTON, self.bu74, self.button_74)
# end wxGlade
self.Show(True)
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Python Calculater by CYG")
self.text_ctrl_1.SetMinSize((500, 30))
self.text_ctrl_2.SetMinSize((500, 50))
self.button_37.SetMinSize((100, 60))
self.button_38.SetMinSize((100, 60))
self.button_39.SetMinSize((100, 60))
self.button_40.SetMinSize((100, 60))
self.button_41.SetMinSize((100, 60))
self.button_42.SetMinSize((100, 60))
self.button_43.SetMinSize((100, 60))
self.button_44.SetMinSize((100, 60))
self.button_46.SetMinSize((100, 60))
self.button_45.SetMinSize((100, 60))
self.button_47.SetMinSize((100, 60))
self.button_48.SetMinSize((100, 60))
self.button_49.SetMinSize((100, 60))
self.button_50.SetMinSize((100, 60))
self.button_51.SetMinSize((100, 60))
self.button_52.SetMinSize((100, 60))
self.button_53.SetMinSize((100, 60))
self.button_54.SetMinSize((100, 60))
self.button_55.SetMinSize((100, 60))
self.button_56.SetMinSize((100, 60))
self.button_57.SetMinSize((83, 50))
self.button_58.SetMinSize((83, 50))
self.button_59.SetMinSize((83, 50))
self.button_60.SetMinSize((83, 50))
self.button_61.SetMinSize((83, 50))
self.button_62.SetMinSize((83, 50))
self.button_63.SetMinSize((83, 50))
self.button_64.SetMinSize((83, 50))
self.button_65.SetMinSize((83, 50))
self.button_66.SetMinSize((83, 50))
self.button_67.SetMinSize((83, 50))
self.button_68.SetMinSize((83, 50))
self.button_69.SetMinSize((83, 50))
self.button_70.SetMinSize((83, 50))
self.button_71.SetMinSize((83, 50))
self.button_72.SetMinSize((83, 50))
self.button_73.SetMinSize((83, 50))
self.button_74.SetMinSize((83, 50))
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_2 = wx.BoxSizer(wx.VERTICAL)
sizer_3 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_1 = wx.GridSizer(4, 5, 0, 0)
grid_sizer_2 = wx.GridSizer(3, 6, 0, 0)
sizer_3.Add(self.text_ctrl_2, 0, 0, 0)
sizer_3.Add(self.text_ctrl_1, 0, 0, 0)
grid_sizer_1.Add(self.button_37, 0, 0, 0)
grid_sizer_1.Add(self.button_38, 0, 0, 0)
grid_sizer_1.Add(self.button_39, 0, 0, 0)
grid_sizer_1.Add(self.button_40, 0, 0, 0)
grid_sizer_1.Add(self.button_41, 0, 0, 0)
grid_sizer_1.Add(self.button_42, 0, 0, 0)
grid_sizer_1.Add(self.button_43, 0, 0, 0)
grid_sizer_1.Add(self.button_44, 0, 0, 0)
grid_sizer_1.Add(self.button_45, 0, 0, 0)
grid_sizer_1.Add(self.button_46, 0, 0, 0)
grid_sizer_1.Add(self.button_47, 0, 0, 0)
grid_sizer_1.Add(self.button_48, 0, 0, 0)
grid_sizer_1.Add(self.button_49, 0, 0, 0)
grid_sizer_1.Add(self.button_50, 0, 0, 0)
grid_sizer_1.Add(self.button_51, 0, 0, 0)
grid_sizer_1.Add(self.button_52, 0, 0, 0)
grid_sizer_1.Add(self.button_53, 0, 0, 0)
grid_sizer_1.Add(self.button_54, 0, 0, 0)
grid_sizer_1.Add(self.button_55, 0, 0, 0)
grid_sizer_1.Add(self.button_56, 0, 0, 0)
grid_sizer_2.Add(self.button_57, 0, 0, 0)
grid_sizer_2.Add(self.button_58, 0, 0, 0)
grid_sizer_2.Add(self.button_59, 0, 0, 0)
grid_sizer_2.Add(self.button_60, 0, 0, 0)
grid_sizer_2.Add(self.button_61, 0, 0, 0)
grid_sizer_2.Add(self.button_62, 0, 0, 0)
grid_sizer_2.Add(self.button_63, 0, 0, 0)
grid_sizer_2.Add(self.button_64, 0, 0, 0)
grid_sizer_2.Add(self.button_65, 0, 0, 0)
grid_sizer_2.Add(self.button_66, 0, 0, 0)
grid_sizer_2.Add(self.button_67, 0, 0, 0)
grid_sizer_2.Add(self.button_68, 0, 0, 0)
grid_sizer_2.Add(self.button_69, 0, 0, 0)
grid_sizer_2.Add(self.button_70, 0, 0, 0)
grid_sizer_2.Add(self.button_71, 0, 0, 0)
grid_sizer_2.Add(self.button_72, 0, 0, 0)
grid_sizer_2.Add(self.button_73, 0, 0, 0)
grid_sizer_2.Add(self.button_74, 0, 0, 0)
sizer_3.Add(grid_sizer_1, 1, wx.EXPAND, 0)
sizer_3.Add(grid_sizer_2, 1, wx.EXPAND, 0)
sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
self.SetSizer(sizer_2)
sizer_2.Fit(self)
self.Layout()
# end wxGlade
def bu37(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts+="7"
self.text_ctrl_1.AppendText("7")
event.Skip()
def bu38(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts+="8"
self.text_ctrl_1.AppendText("8")
event.Skip()
def bu39(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "9"
self.text_ctrl_1.AppendText("9")
event.Skip()
def bu40(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "+"
self.text_ctrl_1.AppendText("+")
event.Skip()
def bu41(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "-"
self.text_ctrl_1.AppendText("-")
event.Skip()
def bu42(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "4"
self.text_ctrl_1.AppendText("4")
event.Skip()
def bu43(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "5"
self.text_ctrl_1.AppendText("5")
event.Skip()
def bu44(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "6"
self.text_ctrl_1.AppendText("6")
event.Skip()
def bu45(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "*"
self.text_ctrl_1.AppendText("*")
event.Skip()
def bu46(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "/"
self.text_ctrl_1.AppendText("/")
event.Skip()
def bu47(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "1"
self.text_ctrl_1.AppendText("1")
event.Skip()
def bu48(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "2"
self.text_ctrl_1.AppendText("2")
event.Skip()
def bu49(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "3"
self.text_ctrl_1.AppendText("3")
event.Skip()
def bu50(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "("
self.text_ctrl_1.AppendText("(")
event.Skip()
def bu51(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += ")"
self.text_ctrl_1.AppendText(")")
event.Skip()
def bu52(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "0"
self.text_ctrl_1.AppendText("0")
event.Skip()
def bu53(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "."
self.text_ctrl_1.AppendText(".")
event.Skip()
def bu54(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "ans"
self.text_ctrl_1.AppendText("ans")
event.Skip()
def bu55(self, event): # wxGlade: MyFrame.<event_handler>
global ts
self.text_ctrl_1.Clear()
self.text_ctrl_2.Clear()
ans=0
ts=""
event.Skip()
def minus_operation(self,expresstion):
minus_operators = re.split("-", expresstion)
calc_list = re.findall("[0-9]", expresstion)
if minus_operators[0] == "":
calc_list[0] = '-%s' % calc_list[0]
res = reduce(lambda x, y: float(x) - float(y), calc_list)
return res
def del_duplicates(self,ts):
ts = ts.replace("++", "+")
ts = ts.replace("--", "-")
ts = ts.replace("+-", "-")
ts = ts.replace("--", "+")
ts = ts.replace('- -', "+")
return ts
def mutiply_dividend(self,expresstion):
calc_list = re.split("[*/]", expresstion)
operators = re.findall("[*/]", expresstion)
res = None
for index, i in enumerate(calc_list):
if res:
if operators[index - 1] == '*':
res *= float(i)
elif operators[index - 1] == '/':
res /= float(i)
else:
res = float(i)
return res
def special_features(self,plus_and_minus_operators, multiply_and_dividend):
for index, i in enumerate(multiply_and_dividend):
i = i.strip()
if i.endswith("*") or i.endswith("/"):
multiply_and_dividend[index] = multiply_and_dividend[index] + plus_and_minus_operators[index] + \
multiply_and_dividend[index + 1]
del multiply_and_dividend[index + 1]
del plus_and_minus_operators[index]
return plus_and_minus_operators, multiply_and_dividend
def minus_special(self,operator_list, calc_list):
for index, i in enumerate(calc_list):
if i == '':
calc_list[index + 1] = i + calc_list[index + 1].strip()
def figure_up(self,ts):
ts = ts.strip("()")
ts = self.del_duplicates(ts)
plus_and_minus_operators = re.findall("[+-]", ts)
multiply_and_dividend = re.split("[+-]", ts)
if len(multiply_and_dividend[0].strip()) == 0:
multiply_and_dividend[1] = plus_and_minus_operators[0] + multiply_and_dividend[1]
del multiply_and_dividend[0]
del plus_and_minus_operators[0]
plus_and_minus_operators, multiply_and_dividend = self.special_features(plus_and_minus_operators,
multiply_and_dividend)
for index, i in enumerate(multiply_and_dividend):
if re.search("[*/]", i):
sub_res = self.mutiply_dividend(i)
multiply_and_dividend[index] = sub_res
#print(multiply_and_dividend, plus_and_minus_operators)
final_res = None
for index, item in enumerate(multiply_and_dividend):
if final_res:
if plus_and_minus_operators[index - 1] == '+':
final_res += float(item)
elif plus_and_minus_operators[index - 1] == '-':
final_res -= float(item)
else:
final_res = float(item)
return final_res
def bu56(self, event): # wxGlade: MyFrame.<event_handler>
global ans
global ts
if re.search("pi", ts):
lists = re.findall("pi", ts)
for i in range(0, len(lists)):
te = str(math.pi)
self.text_ctrl_2.SetValue(te)
ts = re.sub("pi", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("e", ts):
lists = re.findall("e", ts)
for i in range(0, len(lists)):
te = str(math.e)
self.text_ctrl_2.SetValue(te)
ts = re.sub("e", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("sin.*\)",ts):
lists=re.findall("sin(.+?)",ts)
for i in range(0,len(lists)):
te=float(lists[i])
te=str(math.sin(te))
self.text_ctrl_2.SetValue(te)
ts=re.sub("sin.*?\)",te,ts,1)
#self.text_ctrl_1.SetValue(ts)
if re.search("cos.*\)", ts):
lists = re.findall("cos(.+?)", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = str(math.cos(te))
self.text_ctrl_2.SetValue(te)
ts = re.sub("cos.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("tan.*\)", ts):
lists = re.findall("tan(.+?)", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = str(math.tan(te))
self.text_ctrl_2.SetValue(te)
ts = re.sub("tan.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("ln.*\)", ts):
lists = re.findall("ln(.+?)", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = str(math.log(te))
self.text_ctrl_2.SetValue(te)
ts = re.sub("ln.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("log.*\)", ts):
lists = re.findall("log(.+?)", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = str(math.log(te)/math.log(10))
self.text_ctrl_2.SetValue(te)
ts = re.sub("log.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("sqrt.*\)", ts):
lists = re.findall("sqrt(.+?)", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = str(math.sqrt(te))
self.text_ctrl_2.SetValue(te)
ts = re.sub("sqrt.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("int.*\)", ts):
lists = re.findall("int(.+?)", ts)
for i in range(0, len(lists)):
te=float(lists[i])
te=int(te)
te = str(te)
self.text_ctrl_2.SetValue(te)
ts = re.sub("int.*?\)", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("ans", ts):
lists = re.findall("ans", ts)
for i in range(0, len(lists)):
te = str(ans)
self.text_ctrl_2.SetValue(te)
ts = re.sub("ans", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
if re.search("?−?\d∗\.?\d∗?\^?−?\d∗\.?\d∗?", ts):
lists1 = re.findall("?(−?\d∗\.?\d∗?)?\^", ts)
lists2 = re.findall("\^?(−?\d∗\.?\d∗)?", ts)
for i in range(0, len(lists1)):
te1=float(lists1[i])
te2=float(lists2[i])
#print te1
#print te2
te=math.pow(te1,te2)
te = str(te)
self.text_ctrl_2.SetValue(te)
ts = re.sub("?[0−9]∗\.?[0−9]∗??\^?[0−9]∗\.?[0−9]∗?", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
#ts = re.sub("?−?\d∗\.?\d∗?\^?−?\d∗\.?\d∗??", te, ts, 1)
if re.search("?−?\d∗?\!", ts):
lists = re.findall("?(−?\d+?)?\!", ts)
for i in range(0, len(lists)):
te = float(lists[i])
te = math.factorial(te)
te = str(te)
self.text_ctrl_2.SetValue(te)
ts = re.sub("?−?\d+??\!", te, ts, 1)
#self.text_ctrl_1.SetValue(ts)
#print ts
flag=True
while flag:
m = re.search("[()]∗", ts)
if m:
sub_res=self.figure_up(m.group())
ts=ts.replace(m.group(),str(sub_res))
else:
ans=self.figure_up(ts)
flag=False
self.text_ctrl_2.SetValue(str(ans))
#ans=
#self.text_ctrl_2.SetValue(str(ans))
# self.text_ctrl_1.Clear()
event.Skip()
def bu57(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "pi"
self.text_ctrl_1.AppendText("pi")
event.Skip()
def bu58(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "e"
self.text_ctrl_1.AppendText("e")
event.Skip()
def bu59(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "^(-1)"
self.text_ctrl_1.AppendText("^(-1)")
event.Skip()
def bu60(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "^2"
self.text_ctrl_1.AppendText("^2")
event.Skip()
def bu61(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "^"
self.text_ctrl_1.AppendText("^")
event.Skip()
def bu62(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "sqrt("
self.text_ctrl_1.AppendText("sqrt(")
event.Skip()
def bu63(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "sin("
self.text_ctrl_1.AppendText("sin(")
event.Skip()
def bu64(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "cos("
self.text_ctrl_1.AppendText("cos(")
event.Skip()
def bu65(self, event): # wxGlade: MyFrame# .<event_handler>
global ts
ts += "tan("
self.text_ctrl_1.AppendText("tan(")
event.Skip()
def bu66(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "log("
self.text_ctrl_1.AppendText("log(")
event.Skip()
def bu67(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "ln("
self.text_ctrl_1.AppendText("ln(")
event.Skip()
def bu68(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "!"
self.text_ctrl_1.AppendText("!")
event.Skip()
def bu69(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "m"
self.text_ctrl_1.AppendText("m")#qumo
event.Skip()
def bu70(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "int("
self.text_ctrl_1.AppendText("int(")
event.Skip()
def bu71(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "u"
self.text_ctrl_1.AppendText("u")#yu
event.Skip()
def bu72(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "|"
self.text_ctrl_1.AppendText("|")#huo
event.Skip()
def bu73(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "n("
self.text_ctrl_1.AppendText("n(")#fei
event.Skip()
def bu74(self, event): # wxGlade: MyFrame.<event_handler>
global ts
ts += "x"
self.text_ctrl_1.AppendText("x")#yihuo
event.Skip()
# end of class MyFrame
if __name__ == "__main__":
app=wx.App(False)
myframe= MyFrame(None)
app.MainLoop()
PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:
在线一元函数(方程)求解计算工具:
http://tools./jisuanqi/equ_jisuanqi
科学计算器在线使用_高级计算器在线计算:
http://tools./jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools./jisuanqi/jsq
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 科学计算器
# python实现简易版计算器
# Python实现简单的四则运算计算器
# python 简易计算器程序
# 代码就几行
# 利用Tkinter(python3.6)实现一个简单计算器
# 基于python的Tkinter实现一个简易计算器
# Python设计实现的计算器功能完整实例
# 仅用50行代码实现一个Python编写的计算器的教程
# Python只用40行代码编写的计算器实例
# Python实现的简单计算器功能详解
# Python PyQt5实现的简易计算器功能示例
# Python语言实现科学计算器
# 进阶
# 操作技巧
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 更多关于
# 所述
# 几款
# 程序设计
# 使用技巧
# 再为
# 讲述了
# int
# yu
# xor
# EVT_BUTTON
# __set_properties
# __do_layout
# Bind
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
高防服务器租用如何选择配置与防御等级?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Swift开发中switch语句值绑定模式
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何彻底删除建站之星生成的Banner?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
郑州企业网站制作公司,郑州招聘网站有哪些?
jQuery中的100个技巧汇总
潮流网站制作头像软件下载,适合母子的网名有哪些?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
魔毅自助建站系统:模板定制与SEO优化一键生成指南
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何在阿里云完成域名注册与建站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
实例解析angularjs的filter过滤器
如何构建满足综合性能需求的优质建站方案?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Python正则表达式进阶教程_复杂匹配与分组替换解析
Laravel集合Collection怎么用_Laravel集合常用函数详解
如何快速搭建高效可靠的建站解决方案?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel如何创建自定义Artisan命令?(代码示例)
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何用景安虚拟主机手机版绑定域名建站?
如何在阿里云通过域名搭建网站?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何在宝塔面板创建新站点?
Android实现代码画虚线边框背景效果
Android利用动画实现背景逐渐变暗
网站制作企业,网站的banner和导航栏是指什么?
音乐网站服务器如何优化API响应速度?
油猴 教程,油猴搜脚本为什么会网页无法显示?
独立制作一个网站多少钱,建立网站需要花多少钱?
黑客入侵网站服务器的常见手法有哪些?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
详解vue.js组件化开发实践

