建设工程交易中心网站,专业网页制作费用,优化关键词的正确方法,企业网上核名这篇文章主要介绍了python制作小程序代码宠物运输#xff0c;具有一定借鉴价值#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获#xff0c;下面让小编带着大家一起了解一下。 1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 d…这篇文章主要介绍了python制作小程序代码宠物运输具有一定借鉴价值需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获下面让小编带着大家一起了解一下。 1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 def __init__(self):8 #创建主界面 9 self.root tkinter.Tk()10 self.root.minsize(270, 330)11 self.root.maxsize(270, 330)12 self.root.title(小可乐的计算器)13 #定义一个变量赋值给页面label 14 self.result tkinter.StringVar()15 #界面先显示个0 16 self.result.set(0)17 #设置一个全局变量 运算数字和符号的列表 18 self.lists []19 #添加一个判断是否按下运算符号的标志 20 self.isPressSign False21 #添加一个判断是否运算完毕的标志,如果运算完毕在获取数字的方法中会清空上一轮运算结果 22 self.islistsclear False23 #添加一个判断百分号是否使用的功能 24 self.isbaifenhao False25 #为了下面的百分号方法使用(在百分号中为按下运算符号之后的数字) 26 self.num1 27 #定义一个全局变量获取百分好的结果为了在’运算的时候输出 28 self.result3 None29 #获取运算符号之前的数字 30 self.num 31 #获取运算符号给百分好方法使用 32 self.sign1 33 self.layout()34 self.menubar()35 #将窗口一直显示 36 self.root.mainloop()37 38 defmenubar(self):39 #创建总菜单 40 allmenu tkinter.Menu(self.root)41 #创建子菜单 42 filemenu tkinter.Menu(allmenu, tearoff0)43 #在子菜单里添加文件 44 filemenu.add_command(label标准型(T) Alt1,command lambda: self.func2())45 filemenu.add_command(label科学性(S) Alt2,command lambda: self.func2())46 filemenu.add_command(label程序员(p) Alt3,command lambda: self.func2())47 filemenu.add_command(label统计信息(A) Alt4,command lambda: self.func2())48 #创建分割线 49 filemenu.add_separator()50 filemenu.add_command(label历史记录(Y) CtrlH,command lambda: self.func2())51 filemenu.add_command(label数学分组(I),command lambda: self.func2())52 filemenu.add_separator()53 filemenu.add_command(label基本(B) CtrlF4,command lambda: self.func2())54 filemenu.add_command(label单位转换(U) CtrlU,command lambda: self.func2())55 filemenu.add_command(label日期计算(D) CtrlE,command lambda: self.func2())56 #在子菜单里再创建一个菜单 57 filemenunei tkinter.Menu(filemenu, tearoff0)58 #在子菜单里的菜单添加文件 59 filemenunei.add_command(label抵押(M),command lambda: self.func2())60 filemenunei.add_command(label汽车租赁(V),command lambda: self.func2())61 filemenunei.add_command(label油耗mpg(F),command lambda: self.func2())62 filemenunei.add_command(label油耗1/100km(U),command lambda: self.func2())63 #将子菜单里的菜单添加到子菜单里 64 filemenu.add_cascade(label工作表(W), menufilemenunei)65 #添加退出功能 66 filemenu.add_command(label退出, commandself.root.quit)67 #将子菜单添加到总菜单里 68 allmenu.add_cascade(label查看(V), menufilemenu)69 #再创建一个子菜单 70 editmenu tkinter.Menu(allmenu, tearoff0)71 #在子菜单里添加文件 72 editmenu.add_command(label复制(C),command lambda: self.func2())73 editmenu.add_command(label粘贴(P),command lambda: self.func2())74 #创建分割线 75 editmenu.add_separator()76 #在子菜单里创建一个菜单 77 editmenunei tkinter.Menu(editmenu, tearoff0)78 #在子菜单里的菜单添加文件 79 editmenunei.add_command(label复制历史记录(I), statdisable)80 editmenunei.add_command(label编辑(E) F2, statdisable)81 editmenunei.add_command(label取消编辑(N) Esc, statdisable)82 editmenunei.add_command(label清除(L) CtrlShiftD, statdisable)83 #将子菜单里的菜单添加到子菜单 84 editmenu.add_cascade(label历史记录(H), menueditmenunei)85 #将子菜单添加到总菜单 86 allmenu.add_cascade(label编辑(E), menueditmenu)87 #创建第三个子菜单 88 helpmenu tkinter.Menu(allmenu, tearoff0)89 #在第三个子菜单里添加文件 90 helpmenu.add_command(label查看帮助(v) F1,command lambda: self.func2())91 #创建分割线 92 helpmenu.add_separator()93 helpmenu.add_command(label关于计算器(A),command lambda: self.func2())94 #将第三个子菜单添加到总菜单中 95 allmenu.add_cascade(label帮助(H), menuhelpmenu)96 #将总菜单布局到主窗口 97 self.root.config(menuallmenu)98 99 #下面代码用于页面布局 100 deflayout(self):101 #显示结果的标签 102 label tkinter.Label(self.root, textvariableself.result, bgwhite, font(黑体, 10), anchore)103 label.place(x20, y10, width230, height30)104 105 btnmc tkinter.Button(self.root, textMC,command lambda: self.func2())106 btnmc.place(x20, y50, width30, height30)107 108 btnmr tkinter.Button(self.root, textMR,command lambda: self.func2())109 btnmr.place(x70, y50, width30, height30)110 111 btnms tkinter.Button(self.root, textMS,command lambda: self.func2())112 btnms.place(x120, y50, width30, height30)113 114 btnmjia tkinter.Button(self.root, textM,command lambda: self.func2())115 btnmjia.place(x170, y50, width30, height30)116 117 btnmjian tkinter.Button(self.root, textM-,command lambda: self.func2())118 btnmjian.place(x220, y50, width30, height30)119 120 btnjiantou tkinter.Button(self.root, text←, commandlambda: self.jiantou())121 btnjiantou.place(x20, y90, width30, height30)122 123 btnce tkinter.Button(self.root, textCE, commandlambda: self.CE())124 btnce.place(x70, y90, width30, height30)125 126 btnc tkinter.Button(self.root, textC, commandlambda: self.clears())127 btnc.place(x120, y90, width30, height30)128 129 btnzhengfu tkinter.Button(self.root, text±, commandlambda: self.zhenffu())130 btnzhengfu.place(x170, y90, width30, height30)131 132 btnkaigen tkinter.Button(self.root, text√, commandlambda: self.sqrts())133 btnkaigen.place(x220, y90, width30, height30)134 135 btn7 tkinter.Button(self.root, text7, commandlambda: self.pressNum(7))136 btn7.place(x20, y130, width30, height30)137 138 btn8 tkinter.Button(self.root, text8, commandlambda: self.pressNum(8))139 btn8.place(x70, y130, width30, height30)140 141 btn9 tkinter.Button(self.root, text9, commandlambda: self.pressNum(9))142 btn9.place(x120, y130, width30, height30)143 144 btnchu tkinter.Button(self.root, text/, commandlambda: self.pressCompute(/))145 btnchu.place(x170, y130, width30, height30)146 147 btnbaifen tkinter.Button(self.root, text%, commandlambda: self.baifenhao())148 btnbaifen.place(x220, y130, width30, height30)149 150 btn4 tkinter.Button(self.root, text4, commandlambda: self.pressNum(4))151 btn4.place(x20, y170, width30, height30)152 153 btn5 tkinter.Button(self.root, text5, commandlambda: self.pressNum(5))154 btn5.place(x70, y170, width30, height30)155 156 btn6 tkinter.Button(self.root, text6, commandlambda: self.pressNum(6))157 btn6.place(x120, y170, width30, height30)158 159 btncheng tkinter.Button(self.root, text*, commandlambda: self.pressCompute(*))160 btncheng.place(x170, y170, width30, height30)161 162 btnfenshu tkinter.Button(self.root, text1/X, commandlambda: self.fenshu())163 btnfenshu.place(x220, y170, width30, height30)164 165 btn1 tkinter.Button(self.root, text1, commandlambda: self.pressNum(1))166 btn1.place(x20, y210, width30, height30)167 168 btn2 tkinter.Button(self.root, text2, commandlambda: self.pressNum(2))169 btn2.place(x70, y210, width30, height30)170 171 btn3 tkinter.Button(self.root, text3, commandlambda: self.pressNum(3))172 btn3.place(x120, y210, width30, height30)173 174 btnjian tkinter.Button(self.root, text-, commandlambda: self.pressCompute(-))175 btnjian.place(x170, y210, width30, height30)176 177 btndenghao tkinter.Button(self.root, text, commandlambda: self.pressEqual())178 btndenghao.place(x220, y210, width30, height70)179 180 btn0 tkinter.Button(self.root, text0, commandlambda: self.pressNum(0))181 btn0.place(x20, y250, width80, height30)182 183 btndian tkinter.Button(self.root, text., commandlambda: self.pressNum(.))184 btndian.place(x120, y250, width30, height30)185 186 btnjia tkinter.Button(self.root, text, commandlambda: self.pressCompute())187 btnjia.place(x170, y250, width30, height30)188 189 #数字函数(获取数字的函数) 190 defpressNum(self,num):191 #下面的百分好会用到 192 self.num1 num193 #判断是否按下运算符号 194 if self.isPressSign False:195 pass 196 #如果按下运算符号界面归0 197 else:198 self.result.set(0)199 self.isPressSign False200 #判断运算是否完毕 201 if self.islistsclear False:202 #获取面板上原有的数字 203 oldNum self.result.get()204 #判断原有数字是否为零 205 if oldNum 0:206 #将传入的数字显示 207 self.result.set(num)208 else:209 #原来的数字加上现在输入的数字 210 newNum oldNum num211 self.result.set(newNum)212 #运算完毕界面自动清空 213 else:214 #lists.clear()#如果添加这行代码就不能在上一轮运算结果的基础上运算了 215 self.result.set(0)216 self.islistsclear False217 self.result.set(num)218 219 #运算操作(获取运算符号然后将数字和符号添加到列表中) 220 defpressCompute(self,sign):221 #获取界面上的数字 222 ifTrue:223 #获取输入运算符之前的数字 224 self.num self.result.get()225 #将数字加入列表之中 226 self.lists.append(self.num)227 #将运算符加入到列表之中 228 self.lists.append(sign)229 #将运算符赋值给sign1下面的百分号方法会用到 230 self.sign1 sign231 #将是否按下运算符号标志改成True 232 self.isPressSign True233 #在刚开始的时候添加一个负号-用于正负好转换使用 234 #如果列表第一位为0 235 if self.lists[0] 0:236 #如果列表第二位为-’ 237 if self.lists[1] -:238 self.result.set(-)239 #设置运算符号的状态 240 self.isPressSign False241 242 #获取运算结果将列表内的值转换为字符串然后将字符串用python代码执行 243 defpressEqual(self):244 #获取当前页面的数字 245 curnum self.result.get()246 self.lists.append(curnum)247 #将列表中的数据转换为字符串 248 computeStr .join(self.lists)249 #将字符串用python代码执行 250 endNum eval(computeStr)251 #界面显示结果 252 self.result.set(endNum)253 #如果百分号标志触发 254 if self.isbaifenhao True:255 #界面显示self.result3 256 self.result.set(self.result3)257 #运算结束后将列表清空 258 self.lists.clear()259 #将运算标志改成True 260 self.islistsclear True261 262 #清空运算 263 defclears(self):264 self.lists.clear()265 self.result.set(0)266 267 #删除上一位数字 268 defCE(self):269 self.result.set(0)270 271 #用于更改数的正负值 272 defzhenffu(self):273 self.result1 self.result.get()274 self.result.set(float(self.result1) * (-1))275 self.islistsclear True276 277 #用于开平方运算 278 defsqrts(self):279 result1 self.result.get()280 self.result.set(math.sqrt(float(result1)))281 self.lists.clear()282 self.islistsclear True283 284 #用于求x/9的值 285 deffenshu(self):286 result1 self.result.get()287 self.result.set(1 /float(result1))288 self.islistsclear True289 290 #用于求百分号功能的方法 291 defbaifenhao(self):292 listss []293 #判断如果输入一个数没输运算符号的话界面自动归零 294 if len(self.lists) 1:295 self.result.set(0)296 else:297 #获取输入运算符号之前的数字 298 a1 float(self.num)299 #获取运算符号 300 a2 self.sign1301 302 #再次获取输入运算符号之前的数字 303 a3 float(self.num)304 305 a4 * 306 #算出最后一个数字的百分数 307 a6 float(self.num1) / 100 308 309 #算出百分号的那个结果 310 resultmuqian a3 *a6311 #总结果 312 resultbai str(a1) a2 str(a3) a4 str(a6)313 #将字符串用python代码执行 314 self.result3 eval(resultbai)315 #在界面上按下%符号是显示的结果 316 self.result.set(resultmuqian)317 #改变百分号的标志 318 self.isbaifenhao True319 320 #箭头的意义删除后一位数字 321 defjiantou(self):322 result1 self.result.get()323 result1 list(result1)324 del result1[-1]325 result1 str(result1)326 self.result.set(result1)327 328 deffunc2(self):329 tkinter.messagebox.askokcancel(title 略过,message没实现)330 331 332 myjsq JSQ() 好了以上便是利用Python代码实现一个计算器小程序的过程。