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爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
python制作简单五子棋游戏
Jun 18 Python
详解Django admin高级用法
Nov 06 Python
Python TCP通信客户端服务端代码实例
Nov 21 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
Python异常处理机制结构实例解析
Jul 23 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
浅谈Python项目的服务器部署
Apr 25 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 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python网络编程之文件下载实例分析
2015/05/20 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Python日志处理模块logging用法解析
2020/05/19 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
业务助理岗位职责
2013/11/18 职场文书
企业挂职心得体会
2014/09/10 职场文书
学生检讨书范文
2014/10/30 职场文书
小学德育工作总结2015
2015/05/12 职场文书
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
gateway网关接口请求的校验方式
2021/07/15 Java/Android
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python