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 相关文章推荐
python实现猜数字游戏(无重复数字)示例分享
Mar 29 Python
Python学习笔记(二)基础语法
Jun 06 Python
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
python机器人行走步数问题的解决
Jan 29 Python
python语言中with as的用法使用详解
Feb 23 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
Python socket非阻塞模块应用示例
Sep 12 Python
python 操作excel表格的方法
Dec 05 Python
利用Python函数实现一个万历表完整示例
Jan 23 Python
python脚本框架webpy的url映射详解
Nov 20 Python
Python如何使用循环结构和分支结构
Apr 13 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面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
Python3里的super()和__class__使用介绍
2015/04/23 Python
python中尾递归用法实例详解
2015/04/28 Python
Python入门必须知道的11个知识点
2018/03/21 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python lambda表达式用法实例分析
2018/12/25 Python
对python判断是否回文数的实例详解
2019/02/08 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python解析yaml文件过程详解
2019/08/30 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Python Django view 两种return的实现方式
2020/03/16 Python
numpy库reshape用法详解
2020/04/19 Python
vscode调试django项目的方法
2020/08/06 Python
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
Unix控制后台进程都有哪些进程
2016/09/22 面试题
工商技校毕业生自荐信
2013/11/15 职场文书
销售文员岗位职责
2013/11/29 职场文书
毕业生个人求职信范文分享
2014/01/05 职场文书
广告语设计及教案
2014/03/21 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
防溺水主题班会教案
2015/08/12 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL
JavaScript分页组件使用方法详解
2021/07/26 Javascript
python中使用redis用法详解
2022/12/24 Redis