Python简易计算器制作方法代码详解


Posted in Python onOctober 31, 2019

主要用到的工具是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 相关文章推荐
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
Python中使用SAX解析xml实例
Nov 21 Python
python计算文本文件行数的方法
Jul 06 Python
python利用datetime模块计算时间差
Aug 04 Python
tensorflow 打印内存中的变量方法
Jul 30 Python
python/sympy求解矩阵方程的方法
Nov 08 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Python基于pillow库实现生成图片水印
Sep 14 Python
Python 如何实现数据库表结构同步
Sep 29 Python
Restful_framework视图组件代码实例解析
Nov 17 Python
python3 pillow模块实现简单验证码
Oct 31 #Python
利用Python校准本地时间的方法教程
Oct 31 #Python
python实现计算器功能
Oct 31 #Python
python中的Elasticsearch操作汇总
Oct 30 #Python
django实现用户注册实例讲解
Oct 30 #Python
详解Django CAS 解决方案
Oct 30 #Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 #Python
You might like
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
php 可变函数使用小结
2018/06/12 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
js如何打印object对象
2015/10/16 Javascript
JS功能代码集锦
2016/05/04 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
BootStrap数据表格实例代码
2017/09/13 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python自带的http模块详解
2016/11/06 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
Python如何给函数库增加日志功能
2020/08/04 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
阿波罗盒子:Apollo Box
2017/08/14 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
素质教育学习心得体会
2016/01/19 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang