java计算器程序代码实现加减乘除_Python+tkinter能实现计算器!太神奇了

听说Python很强大,有第三方库啥事儿都能干,不仅能写一个计算器框架,还能实现加减乘除运算,听着甚是崇拜啊!

废话不啰嗦了,让我们一起来看看Python是如何把计算器用一个个代码实现的。

这里我们用到了tkinter,大家有认识它的吗?它可是实现计算器的一个关键库。Tkinter 是 python 的标准 GUI 库,已经内置到 python 的安装包、只要安装好 python 之后就能直接 import Tkinter 库。

如果你是一个程序员,现在要你自己去完成这个计算器代码编写,那么你首先第一步会怎么做?当然是了解计算器的整个构造了,知道计算器的构造之后,就可以一步一步的把它拼接起来,就像组装一辆轿车一样,把轿车所有部件组装在一起就成了一辆完整的轿车。那么计算器的构造到底有多复杂呢?

计算器外边就一个框架,里面有显示面板,数字键按钮和运算符号按钮。一个完整的计算器无非就这些部分构成,我们把这几个部分拼凑在一起是不是就能实现了呢?

1、首先我们来看看计算器外边的这个框架是如何实现的?其实很简单啦!就是导入tkinter库,然后根据自己的需要设置一下名称和大小就可以了,具体看看下面的代码吧:

import tkinter #导入tkinter模块root = tkinter.Tk()root.minsize(280,500)root.title('计算器')

2、接下来就是里面的显示面板了,我们把它分成两个小的面板,计算时显示输入的值叫做显示面板1,显示运算过程的面板叫显示面板2

显示面板1:

result = tkinter.StringVar()result.set(0)

显示面板2

result2 = tkinter.StringVar() #显示面板显示结果2,用于显示计算过程

result2.set('')

然后我们用lable对上面面板设置一下:

label = tkinter.Label(root,font = ('微软雅黑',20),bg = '#EEE9E9',bd ='9',fg = '#828282',anchor = 'se',textvariable = result2)

label.place(width = 280,height = 170)

label2 = tkinter.Label(root,font = ('微软雅黑',30),bg = '#EEE9E9',bd ='9',fg = 'black',anchor = 'se',textvariable = result)

label2.place(y = 170,width = 280,height = 60)

3、数字键按钮;由于数字是从0-9,所以我们用button0-button9来表示每个数字按钮,具体请看下面代码:

a41af168cb69480b8d89a6a805dd2d3a

4、运算符号按钮;

36d250fdb54d4d00ae359b9b0c817549

到目前为止,计算器就基本上实现了;只是还不能运算;那如何才能让它运算呢?只需要四个函数就可以让它实现运算的功能了!

#操作函数

lists = [] #设置一个变量 保存运算数字和符号的列表

isPressSign = False #添加一个判断是否按下运算符号的标志,假设默认没有按下按钮

isPressNum = False

#数字函数

def pressNum(num): #设置一个数字函数 判断是否按下数字 并获取数字将数字写在显示版上

global lists #全局化lists和按钮状态isPressSign

global isPressSign

if isPressSign == False:

pass

else: #重新将运算符号状态设置为否

result.set(0)

isPressSign = False

#判断界面的数字是否为0

oldnum = result.get() #第一步

if oldnum =='0': #如过界面上数字为0 则获取按下的数字

result.set(num)

else: #如果界面上的而数字不是0 则链接上新按下的数字

newnum = oldnum + num

result.set(newnum) #将按下的数字写到面板中

#运算函数

def pressCompute(sign):

global lists

global isPressSign

num = result.get() #获取界面数字

lists.append(num) #保存界面获取的数字到列表中

lists.append(sign) #讲按下的运算符号保存到列表中

isPressSign = True

if sign =='AC': #如果按下的是'AC'按键,则清空列表内容,讲屏幕上的数字键设置为默认数字0

lists.clear()

result.set(0)

if sign =='b': #如果按下的是退格‘’,则选取当前数字第一位到倒数第二位

a = num[0:-1]

lists.clear()

result.set(a)

#获取运算结果函数

97962df2977b4122a79c0dc823a550a5

把以上这些部件组装起来就能实现一个完整的计算器了,由于代码比较多,对于具体的控件没有给大家一一细说,如果有不理解的可以百度,也可以下方评论。希望这篇文章能对你有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值