主要用到的工具是Python中的Tkinter库
比较简单
直接上图形界面和代码
引用Tkinter库
from tkinter import *
建立主窗口对象
window=Tk() #设置窗口对象 window.title('counting machine') window.geometry("350x280") window['bg']='red'
建立标签框以及标签(将运算字符串显示在上面)
frame=LabelFrame(window,bg='yellow',width=350,height=50) frame.pack() frame.place(x=0,y=0) label=Label(frame,text="1+1=2",height=3,width=50,bg='yellow') label.pack() #显示框
设置全局变量字符串s,按一个按钮,将按钮对应的运算符加到这个字符串s中,最后利用eval函数进行计算。
global s s=""
按钮0-9以及小数点的实现(大致思路都是一样的)
#按钮. def figure_dot(): global s s=s+"." label.config(text=s) btn0=Button(window,text=".",width=4,command=figure_dot,bg='yellow') btn0.place(x=150,y=220) #按钮. #按钮0 def figure_0(): global s s=s+"0" label.config(text=s) btn0=Button(window,text="0",width=4,command=figure_0,bg='yellow') btn0.place(x=80,y=220) #按钮0 #按钮1 def figure_1(): global s s=s+"1" label.config(text=s) btn1=Button(window,text="1",width=4,command=figure_1,bg='yellow') btn1.place(x=10,y=80) #按钮1 #按钮2 def figure_2(): global s s=s+"2" label.config(text=s) btn2=Button(window,text="2",width=4,command=figure_2,bg='yellow') btn2.place(x=80,y=80)#按钮2 #按钮3 def figure_3(): global s s=s+"3" label.config(text=s) btn3=Button(window,text="3",width=4,command=figure_3,bg='yellow') btn3.place(x=150,y=80)#按钮3 #按钮4 def figure_4(): global s s=s+"4" label.config(text=s) btn4=Button(window,text="4",width=4,command=figure_4,bg='yellow') btn4.place(x=10,y=130)#按钮4 #按钮5 def figure_5(): global s s=s+"5" label.config(text=s) btn5=Button(window,text="5",width=4,command=figure_5,bg='yellow') btn5.place(x=80,y=130)#按钮5 #按钮6 def figure_6(): global s s=s+"6" label.config(text=s) btn6=Button(window,text="6",width=4,command=figure_6,bg='yellow') btn6.place(x=150,y=130)#按钮6 #按钮7 def figure_7(): global s s=s+"7" label.config(text=s) btn7=Button(window,text="7",width=4,command=figure_7,bg='yellow') btn7.place(x=10,y=180)#按钮7 #按钮8 def figure_8(): global s s=s+"8" label.config(text=s) btn8=Button(window,text="8",width=4,command=figure_8,bg='yellow') btn8.place(x=80,y=180)#按钮8 #按钮9 def figure_9(): global s s=s+"9" label.config(text=s) btn9=Button(window,text="9",width=4,command=figure_9,bg='yellow') btn9.place(x=150,y=180)#按钮9 运算符号的实现(±*/) #加法按钮 def figure_addition(): global s s=s+"+" label.config(text=s) btn_add=Button(window,text="+",width=4,command=figure_addition,bg='yellow') btn_add.place(x=220,y=80)#加法按钮 #减法按钮 def figure_subtraction(): global s s=s+"-" label.config(text=s) btn_sub=Button(window,text="-",width=4,command=figure_subtraction,bg='yellow') btn_sub.place(x=220,y=130)#减法按钮 #乘法按钮 def figure_multiplication(): global s s=s+"*" label.config(text=s) btn_multi=Button(window,text="*",width=4,command=figure_multiplication,bg='yellow') btn_multi.place(x=290,y=80)#乘法按钮 #除法按钮 def figure_division(): global s s=s+"/" label.config(text=s) btn_divi=Button(window,text="/",width=4,command=figure_division,bg='yellow') btn_divi.place(x=290,y=130)#除法按钮
清空窗口按钮的实现
#清空按钮 def figure_clear(): global s s="" label.config(text=s) btn_clear=Button(window,text="clear",width=4,command=figure_clear,bg='yellow') btn_clear.place(x=220,y=180)#清空按钮
结果输出的实现(eval函数)
#结果按钮 def figure_value(): global s x=eval(s) s=str(x) label.config(text=s) btn_value=Button(window,text="=",width=4,command=figure_value,bg='yellow') btn_value.place(x=290,y=180)
颜色变换的实现(红变粉)
def figure_colorchange(): window.config(bg="pink") btn_value=Button(window,text="color",width=4,command=figure_colorchange,bg='yellow') btn_value.place(x=10,y=220)#改变颜色 window.mainloop()
变换后
这个简易计算器也就实现了,当然也可以加入其他的功能,如开方,乘幂等功能。
总结
以上所述是小编给大家介绍的Python简易计算器制作方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
标签:
python,计算器
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Python简易计算器制作方法代码详解”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月14日
2024年11月14日
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]