python实现计算器功能

作者:EdisonChenyao 时间:2021-02-06 09:45:23 

本文实例为大家分享了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实现计算器功能

这个简易计算器也就实现了,当然也可以加入其他的功能,如开方,乘幂等功能。

来源:https://blog.csdn.net/EdisonChenyao/article/details/102776616

标签:python,计算器
0
投稿

猜你喜欢

  • Go语言中转换JSON数据简单例子

    2024-04-26 17:32:28
  • Python+Selenium实现短视频热点爬取

    2022-03-07 23:43:37
  • 扩展数据库系统选项实现更高的可扩展性

    2009-01-06 11:14:00
  • Python 实现将某一列设置为str类型

    2022-07-27 03:20:12
  • where条件顺序不同、性能不同示例探讨

    2024-01-16 19:59:38
  • Python爬虫之爬取淘女郎照片示例详解

    2021-01-16 12:50:48
  • sqlserver中触发器+游标操作实现

    2024-01-20 19:25:42
  • 删除select中所有option选项jquery代码

    2024-04-22 12:58:42
  • python获取linux系统信息的三种方法

    2022-04-13 06:27:55
  • python粘包问题及socket套接字编程详解

    2021-03-25 05:58:46
  • vue项目中扫码支付的实现示例(附demo)

    2024-05-02 17:02:50
  • sql存储过程详解

    2024-01-22 07:00:39
  • 使用go module导入本地包的方法教程详解

    2024-03-26 01:44:43
  • 关于WordPress的SEO优化相关的一些PHP页面脚本技巧

    2024-06-05 09:39:16
  • Oracle 异构服务实践

    2007-08-17 10:00:00
  • 实例讲解Access数据库在线压缩的实现方法

    2008-11-28 14:29:00
  • Python 输出时去掉列表元组外面的方括号与圆括号的方法

    2023-06-06 07:10:44
  • python+Django+apache的配置方法详解

    2021-02-18 06:39:06
  • 用Python可视化新冠疫情数据

    2021-10-14 06:06:39
  • Hibernate Oracle sequence的使用技巧

    2009-06-19 17:25:00
  • asp之家 网络编程 m.aspxhome.com