python实现计算器功能


Posted in Python onOctober 31, 2019

本文实例为大家分享了python计算器的具体代码,供大家参考,具体内容如下

主要用到的工具是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自动化测试之setUp与tearDown实例
Sep 28 Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 Python
Python创建xml文件示例
Mar 22 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
Python闭包思想与用法浅析
Dec 27 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
python 实现二维列表转置
Dec 02 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 Python
python利用文件时间批量重命名照片和视频
Feb 09 Python
python中的Elasticsearch操作汇总
Oct 30 #Python
django实现用户注册实例讲解
Oct 30 #Python
详解Django CAS 解决方案
Oct 30 #Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 #Python
Django实现CAS+OAuth2的方法示例
Oct 30 #Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 #Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 #Python
You might like
php 全文搜索和替换的实现代码
2008/07/29 PHP
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
JS input 数字验证代码
2009/07/30 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
判断网页编码的方法python版
2016/08/12 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
基于python指定包的安装路径方法
2018/10/27 Python
python实现整数的二进制循环移位
2019/03/08 Python
Django如何实现上传图片功能
2019/08/16 Python
Python基于当前时间批量创建文件
2020/05/07 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
大学应届毕业生个人求职信
2013/09/23 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
水电维修专业推荐信
2014/09/06 职场文书
一年级小学生评语大全
2014/12/25 职场文书
党员自我评价2015
2015/03/03 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
奖学金申请书(范文)
2019/08/14 职场文书