首页 > 编程语言 >python简易计算器的实现

python简易计算器的实现

时间:2023-01-09 21:36:02浏览次数:49  
标签:lable tkinter python 计算器 简易 windows time btn result

#导入模块
import datetime,time,tkinter
#新建一个窗口
windows=tkinter.Tk()
#给窗口定义标题
windows.title('简易计算器')
#给窗口定义尺寸
windows.geometry('500x600')
#-------------------------------逻辑事件---------------------

content=''
def btn_onclick(data):
    global content
    if data=='CE' or data=='AC':
        expression.set('')
        result.set('')
        content=''
    elif data== '=':
        result.set(f'{eval(content)}')
    else:
        content+=data
        expression.set(content)


#-------------------------界面--------------------------------
lable_date=tkinter.Label(windows,text='当天日期:',font=('楷体',16))
lable_date.place(x=0,y=240,width=100,height=40)
#获取当前系统时间
get_time=tkinter.StringVar(value=time.strftime('%Y-%m-%d',time.localtime(time.time())))
#显示当前时间
lable_time=tkinter.Label(windows,textvariable=get_time,font=('楷体',16))
lable_time.place(x=100,y=240,width=130,height=40)
#给计算器按钮定义一个二维数组
btn_datas=[
    ['%','7','8','9','/'],
    ['**','4','5','6','-'],
    ['CE','1','2','3','*'],
    ['AC','0','//','+','=']
]
#循环按钮
for r in range(4):
    for c in range(5):
        btn_sumit=tkinter.Button(windows,text=btn_datas[r][c],font=('黑体',30),command=lambda x=btn_datas[r][c]:btn_onclick(x))
        btn_sumit.place(x=c*100,y=280+r*80,width=100,height=80)

#显示公式及结果
expression=tkinter.StringVar()
lable_exp=tkinter.Label(windows,textvariable=expression,font=('黑体',20))
lable_exp.place(x=20,y=20,width=400,height=50)

result=tkinter.StringVar()
lable_result=tkinter.Label(windows,textvariable=result,font=('黑体',30))
lable_result.place(x=360,y=180,width=100,height=50)

windows.mainloop()

 

标签:lable,tkinter,python,计算器,简易,windows,time,btn,result
From: https://www.cnblogs.com/ygyalex/p/17038564.html

相关文章

  • 使用Python清理历史文件夹
    根据修改时间,删除文件夹。例如:删除某个日期之前的文件夹。#-*-coding:utf-8-*-#@Time:2023/1/919:34#@Author:King#@Software:PyCharm#@Describe......
  • python数据分析与可视化【思维导图】
    python数据分析与可视化常用库numpy+matplotlib+pandas思维导图图中难免有错误,后期随着学习与应用的深入,会不断修改更新。当前版本号:1.0numpy介绍NumPy是什么?NumP......
  • Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)
    一、遍历列表1. 遍历整个列表:使用for循环1colors=['red','yellow','blue','green']#定义列表2forcolorincolors:#使用循环:从列表中提取一个元素并将其存......
  • 004 python 程序运行日志使用方法
    导入包importlogging.handlersimportdatetimelogger=logging.getLogger("log")日志目录查找并创建ifos.path.isdir('log'):print("当前目录下存在log文......
  • 003 python一个整数或byte数据转为十六进制字符串不带0x
    把一个byte数据转化为字符,例如byte数据为05,要转换为十六进制字符串hexstr,不带0xd=5hs=((str(hex(d)))[2:]).zfill(2)如上,hs为转换后的字符串。原理就是先用hex转化......
  • 科学计算器的面向对象设计
    一、项目介绍1.功能要求:本课程设计是做了一个图形界面的科学计算器,其界面主要是由swing组件中的控件构成。程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可......
  • Python
    一、Python特点:1、跨平台程序设计语言。2、解释型编程语言,没有编译环节。3、交互式编程语言(可以在命令提示符中编写代码)。4、面向对象编程语言。  二、搭建开发......
  • Python浅拷贝和深拷贝
    预备知识对象的三个属性python中每一个对象都有三个属性:唯一标志,类型和值。其中对象的标志是一串数字,是每个对象的唯一标识,位于同一地址的对象标志相同。对象的值相等和......
  • 用python处理html代码的转义与还原-转
    本篇博客来源:用python处理html代码的转义与还原&#x27;&amp;&lt;&gt;&quot;&#x27;等特殊字符摘要:html转义:importhtml#字符串转义str="<tag>aaa</tag>"str_out=......
  • 【规则引擎】简易规则引擎在菜单权限的应用
    背景在年底,突发奇想,想对公司内部现有的菜单权限进行重新设计。观察了令人头疼的硬编码后,想出可用规则引擎进行重构。分析观察如下代码,硬编码,很临时,很敷衍。但其实用数......