Python必过小项目:TK简易计算器【源码分享】
创始人
2025-06-01 00:48:12
0

人生苦短,我用python

好像好久都没给大家更新啦!

这次做一个简易计算器

要求:

  • 1.要有加减乘除四个方法的编写
  • 2.提交的代码悟编译错误
  • 3.代码需要有基础的健壮性判断

python 安装包+资料:点击此处跳转文末名片获取

在这里插入图片描述

效果展示

请添加图片描述

导入模块

import tkinter as tk

实例化一个窗体对象

root = tk.Tk()

设置窗口的大小长宽为300x300出现的位置距离窗口左上角+150+150

root.geometry("295x280+150+150")
###python学习交流:660193417
root.title('计算器')
root.attributes("-alpha", 0.9)
root["background"] = "#ffffff"

先定义一个列表收集输入的内容

lists = []
result_num = tk.StringVar()
result_num.set(0)

显示数字

def append_num(i):lists.append(i)result_num.set(''.join(lists))

加减乘除

def operator(i):if len(lists) > 0:if lists[-1] in ['+', '-', '*', '/']:lists[-1] = ielse:lists.append(i)result_num.set(''.join(lists))

等于

def equal():a = ''.join(lists)end_num = eval(a)result_num.set(end_num)lists.clear()lists.append(str(end_num))

清空

def clear():lists.clear()result_num.set(0)

按钮界面设置一下~

lable1 = tk.Label(root, textvariable=result_num, width=20, height=2, font=('宋体', 20), justify='left', background='#ffffff', anchor='se')
lable1.grid(padx=4, pady=4, row=0, column=0, columnspan=4)button_clear = tk.Button(root, text='C', width=5, font=('宋体', 16), relief='flat', background='#C0C0C0', command=lambda: clear())
button_back = tk.Button(root, text='←', width=5, font=('宋体', 16), relief='flat', background='#C0C0C0', command=lambda: back())
button_division = tk.Button(root, text='/', width=5, font=('宋体', 16), relief='flat', background='#C0C0C0', command=lambda: operator('/'))
button_multiplication = tk.Button(root, text='x', width=5, font=('宋体', 16), relief='flat', background='#C0C0C0', command=lambda: operator('*'))
###python学习交流:660193417
button_clear            .grid(padx=4, row=1, column=0)
button_back             .grid(padx=4, row=1, column=1)
button_division         .grid(padx=4, row=1, column=2)
button_multiplication   .grid(padx=4, row=1, column=3)button_seven = tk.Button(root, text='7', width=5, font=('宋体', 16), relief='flat', background='#FFDEAD', command=lambda: append_num('7'))
button_eight = tk.Button(root, text='8', width=5, font=('宋体', 16), relief='flat', background='#FFDEAD', command=lambda: append_num('8'))
button_nine = tk.Button(root, text='9', width=5, font=('宋体', 16), relief='flat', background='#FFDEAD', command=lambda: append_num('9'))
button_subtraction = tk.Button(root, text='—', width=5, font=('宋体', 16), relief='flat', background='#C0C0C0', command=lambda: operator('-'))

别忘记进入消息循环,显示窗口

root.mainloop()

今天的文章就是这样啦!

希望我的文章可以帮到你~

在这里插入图片描述

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关内容

热门资讯

原创 权... 作者:吕东平 摘要 在全球化与文明对话日益深入的今天,某些国家仍呈现出权力结构对法治原则的系统性侵...
分手后男子起诉按现金价折算金饰... 近日,宁夏同心县人民法院公布一起案例,2024年9月,宝某与周某经人介绍相识并按照习俗结婚,宝某依习...
连连数字盘中一度涨超78% 香... 连连数字(02598)盘中一度涨超78% ,高见18港元,股价创新高,截至发稿,股价上涨65.47%...
官员饮酒聚餐致死,安徽:绝不姑... 据《安徽日报》报道,6月1日晚,安徽省委常委会召开会议,传达学习中央层面深入贯彻中央八项规定精神学习...
3名干部被查,均已退休,年龄最... 原江西省工业和信息化委员会党组成员、副主任杨人平被查 据江西省纪委监委5月30日消息:原江西省工业和...
曼联门神奥纳纳爆转会!沙特土豪... 各位球迷朋友们,转会市场这潭水啊,是越来越深,越来越浑!今儿个咱聊聊曼联的门神——安德烈·奥纳纳。这...
女子搬新家遭邻居多次持刀砍门,... 极目新闻记者 王柳钦 近日,有辽宁大连的网友发视频称,疑似患精神疾病的邻居多次持刀上门,用刀砍其家门...
提高额度、放宽范围!济南公积金... 5月30日,“卖旧买新”购房补贴刚公布,济南住房公积金新政再度上新! 济南市住房公积金最新消息,为进...
乌“蛛网”行动战报称摧毁大量俄... 每经编辑:毕陆名 据央视新闻6月2日消息,当地时间6月1日,记者获悉,据一位未透露姓名的美国政府官员...
巨子生物声明:接受检测机构道歉... DoNews6月2日消息,据每日经济新闻报道,6月1日22点32分,巨子生物旗下可复美微信公众号发布...