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 制作图片转pdf工具
Jan 30 Python
Python查找相似单词的方法
Mar 05 Python
Python实现批量修改文件名实例
Jul 08 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
Python数据存储之 h5py详解
Dec 26 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
python中wx模块的具体使用方法
May 15 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 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开发大型项目的一点经验
2006/10/09 PHP
php4的session功能评述(一)
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
分享10段PHP常用代码
2015/11/11 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python的面向对象思想分析
2015/01/14 Python
详解python statistics模块及函数用法
2019/10/27 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
早读迟到检讨书
2014/01/24 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers