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和pyqt实现360的CLable控件
Feb 21 Python
python使用Queue在多个子进程间交换数据的方法
Apr 18 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Python正则表达式使用范例分享
Dec 04 Python
python学生信息管理系统
Mar 13 Python
python实现石头剪刀布程序
Jan 20 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
Python ORM编程基础示例
Feb 02 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
Python如何获取文件路径/目录
Sep 22 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 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 验证码制作(网树注释思想)
2009/07/20 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
python对url格式解析的方法
2015/05/13 Python
python中管道用法入门实例
2015/06/04 Python
Python之reload流程实例代码解析
2018/01/29 Python
python使用Tesseract库识别验证
2018/03/21 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
python能做哪些生活有趣的事情
2020/09/09 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
金融专业应届生求职信
2013/11/02 职场文书
火车的故事教学反思
2014/02/11 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
法人委托书
2014/07/31 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL