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进行稳定可靠的文件操作详解
Dec 31 Python
python中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
python画折线图的程序
Jul 26 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
Python语法垃圾回收机制原理解析
Mar 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获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
PHP守护进程实例
2015/03/06 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jquery mobile 移动web(5)
2015/12/20 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
简单实现python收发邮件功能
2018/01/05 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
Python List cmp()知识点总结
2019/02/18 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
高中竞选班长演讲稿
2014/04/24 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
工作犯错保证书
2015/05/11 职场文书
企业安全生产检查制度
2015/08/06 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
Java 多线程协作作业之信号同步
2022/05/11 Java/Android