Python简易计算器制作方法代码详解


Posted in Python onOctober 31, 2019

主要用到的工具是Python中的Tkinter库

比较简单

直接上图形界面和代码

Python简易计算器制作方法代码详解

引用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简易计算器制作方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python运算符重载用法实例
May 28 Python
Python用threading实现多线程详解
Feb 03 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
django 简单实现登录验证给你
Nov 06 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
使用OpenCV实现道路车辆计数的使用方法
Jul 15 Python
Python urlopen()参数代码示例解析
Dec 10 Python
新手必备Python开发环境搭建教程
May 28 Python
python3 pillow模块实现简单验证码
Oct 31 #Python
利用Python校准本地时间的方法教程
Oct 31 #Python
python实现计算器功能
Oct 31 #Python
python中的Elasticsearch操作汇总
Oct 30 #Python
django实现用户注册实例讲解
Oct 30 #Python
详解Django CAS 解决方案
Oct 30 #Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 #Python
You might like
php单件模式结合命令链模式使用说明
2008/09/07 PHP
php下使用iconv需要注意的问题
2010/11/20 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
医科大学生的自我评价
2013/12/04 职场文书
大学军训感言1000字
2014/02/25 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
社区服务活动总结
2014/05/07 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书