news 2026/7/1 6:41:51

自学2年Python打造多功能计算器,求大佬指点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自学2年Python打造多功能计算器,求大佬指点

本人学过两年C++,Python自学了两年,只算是一个萌新,试着做了一个简易计算器练练手。现在发在社区里,望能有大佬指点,本人不胜感激!如有问题,欢迎各位将高见发在评论区,本人定逐条认真查看!(exe文件在个人主页,下面是代码)

import tkinter.messagebox import tkinter as tk import math,numpy,sys,os def show(): window2=tk.Tk() window2.title('更新信息') window2.geometry('450x180') text5=tk.Label(window2,text="1.1版本更新信息",fg="black",font=("Times",40,"bold")) text5.pack() text6=tk.Label(window2,text="·1.1 2025年7月12日 增添发行公告",fg="black",font=("Times",20)) text6.pack() button5=tk.Button(window2,text="继续",command=window2.destroy) button5.pack(fill="x",pady=(20,0)) window2.wait_window(window2) window3=tk.Tk() window3.title('更新信息') window3.geometry('1100x180') text5=tk.Label(window3,text="1.2版本更新信息",fg="black",font=("Times",40,"bold")) text5.pack() text6=tk.Label(window3,text="·1.2 2025年7月13日12:38:03 增添更新信息显示,增加功能数量,修改部分代码以适配新版本",fg="black",font=('Times',20)) text6.pack() button6=tk.Button(window3,text="继续",command=window3.destroy) button6.pack(fill="x",pady=(20,0)) window3.wait_window(window3) window4=tk.Tk() window4.title('更新信息') window4.geometry('1060x180') text5=tk.Label(window4,text="2.0版本更新信息",fg="black",font=("Times",40,"bold")) text5.pack() text6=tk.Label(window4,text="·2.0 2025年8月8日13:36:05 增加部分代码,修改错误代码,修补程序漏洞,提升用户体验",fg="black",font=('Times',20)) text6.pack() button7=tk.Button(window4,text="继续",command=window4.destroy) button7.pack(fill="x",pady=(20,0)) window4.wait_window(window4) window5=tk.Tk() window5.title('更新信息') window5.geometry('1250x200') text5=tk.Label(window5,text="3.0版本更新信息",fg="black",font=("Times",40,"bold")) text5.pack() text6=tk.Label(window5,text="·3.0 2026年6月27日21:29:01 完成全软件大规模修改优化,升级“发行公告”为“使用说明”,\n 修改发行公告及更新信息显示模式,增加计算功能,删除冗余代码,纠正部分代码错误,提升用户体验",fg="black",font=("Times",20)) text6.pack() button8=tk.Button(window5,text="关闭",command=window5.destroy) button8.pack(fill="x",pady=(20,0)) window5.mainloop() def quit2(): tkinter.messagebox.showinfo('退出','感谢使用,下次再见!') sys.exit() def gonggao(): window=tk.Tk() window.title('公告') window.geometry('1050x700') text2=tk.Label(window,text="“简易计算器 3.0”使用方法",fg="black",font=("Times",40,"bold")) text2.pack() text3=tk.Label(window,text="“简易计算器 3.0”软件已于2026年6月27日正式发行,具体使用方法如下:(持续更新)",fg="black",font=("Times",20)) text3.pack() text4=tk.Label(window,text="\t1.计算简单数学表达式:直接输入。如:1+1;\n2.幂运算:pow(m,n),表示计算m的n次幂。如:pow(2,2);\n3.开根运算:pow(m,1/n),表示计算n次根号m的值。如:pow(2,1/2);\n4.计算字符串的长度:len(s),表示计算字符串s的长度。如:len('123');\n5.计算两数的平均值:abs(m,n),表示计算m和n的平均值。如:abs(1,2);\n6.计算某数的阶乘:factorial(a),表示计算a!,即a的阶乘。如:factorial(5);\n7.计算最大公约数:gcd(a,b...m),表示计算数据a到m的最大公约数。如:gcd(1,2,3,4,5);\n8.计算最小公倍数:lcm(a,b...m),表示计算数据a到m的最小公倍数。如:lcd(1,2,3,4,5);\n9.三角函数(双曲函数)运算,按照对应数学语言输入即可。\n 如:sin(45),sinh(45);(此功能持续更新中,如有缺漏敬请谅解!)\n10.如需调用π,请输入:pi。\n\n注意,计算时请将输入法设置为英文,否则计算将失败!\n\n 版权所有,侵权必究!计算功能持续更新中,如有缺漏敬请谅解!祝您使用愉快!\n\n提示,如果你试图利用此程序运行恶意代码,该程序不欢迎你,请立即离开!",fg="black",font=("Times",20)) text4.pack() button4=tk.Button(window, text="关闭", command=window.destroy) button4.pack(anchor=tk.SW,fill="x",pady=(20,0)) window.mainloop() def on_closing(): if messagebox.askokcancel('退出','确定退出?'): root_window.destroy safe_variables={ 'abs':abs,'pi':math.pi,'e':math.e,'tau':math.tau,'inf':math.inf,'nan':math.nan,'sqrt':math.sqrt,'sum':numpy.sum,'factorial':math.factorial,'gcd':math.gcd,'lcm':math.lcm,'pow':math.pow,'sin':math.sin,'cos':math.cos,'tan':math.tan,'sinh':math.sinh,"cosh":math.cosh,'tanh':math.tanh,'asin':math.asin,'acos':math.acos,'atan':math.atan,'atan2':math.atan2,'asinh':math.asinh,'acosh':math.acosh,'atanh':math.atanh } root_window=tk.Tk() root_window.title('简易计算器 3.0') root_window.geometry('300x430') text1=tk.Label(root_window, text="请输入计算公式:\n(支持各类运算,\n 详见“使用方法”)", fg="black", font=("Times", 20, "bold")) text1.pack() entry=tk.Entry(root_window) entry.pack(anchor=tk.CENTER,pady=(50,0)) def show_input(event=None): a=entry.get() if not a: tkinter.messagebox.showerror('错误','输入不能为空!') try: b=compile(a,"<string>","eval") tkinter.messagebox.showinfo('计算结果',eval(b, {"__builtins__": {}},safe_variables)) except SyntaxError as e: tkinter.messagebox.showerror('错误','输入表达式无法运算:'+str(e)) except NameError as e: tkinter.messagebox.showerror('错误','输入非法字符:'+str(e)) except ZeroDivisionError as e: tkinter.messagebox.showerror('错误','输入除数为0:'+str(e)) except ValueError as e: tkinter.messagebox.showerror('错误',"输入表达式不符合数学语法:"+str(e)) button1=tk.Button(root_window, text="计算(Enter)", command=show_input) button2=tk.Button(root_window,text="关闭",command=quit2) button3=tk.Button(root_window,text="使用方法",command=gonggao) button4=tk.Button(root_window,text="更新信息",command=show) button1.pack(anchor=tk.SE,fill="x",pady=(50,0)) button2.pack(anchor=tk.SW,fill="x",pady=(25,0)) button3.pack(anchor=tk.SE,fill="x",pady=(25,0)) button4.pack(anchor=tk.SE,fill="x",pady=(25,0)) root_window.bind('<Return>',show_input) root_window.mainloop()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 6:35:46

哔咔漫画下载器终极指南:3步打造永久个人漫画库

哔咔漫画下载器终极指南&#xff1a;3步打造永久个人漫画库 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器&#xff0c;带图形界面 带收藏夹&#xff0c;已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华
网站建设 2026/7/1 6:32:28

实时GPU着色器覆盖技术:如何为Windows桌面应用注入视觉魔法

实时GPU着色器覆盖技术&#xff1a;如何为Windows桌面应用注入视觉魔法 【免费下载链接】ShaderGlass Overlay for running GPU shaders on top of Windows desktop and Wine 项目地址: https://gitcode.com/gh_mirrors/sh/ShaderGlass 你是否曾经想过&#xff0c;为什么…

作者头像 李华
网站建设 2026/7/1 6:32:25

本地AI图像修复工具Inpaint-Web部署与使用指南

1. 先搞清楚 Inpaint-Web 到底能帮你解决哪两类问题如果你经常需要处理一些从网上下载的、画质模糊或者带有水印、瑕疵的图片&#xff0c;手动用 PS 修图费时费力&#xff0c;那么 Inpaint-Web 这个在 GitHub 上开源的本地工具&#xff0c;值得你花十分钟了解一下。它核心解决两…

作者头像 李华
网站建设 2026/7/1 6:31:07

3个简单步骤:让Switch手柄在Windows电脑上完美运行游戏

3个简单步骤&#xff1a;让Switch手柄在Windows电脑上完美运行游戏 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com…

作者头像 李华
网站建设 2026/7/1 6:29:30

企业应用安全攻防实战:从数据库提权到内存马注入的完整攻击链剖析

1. 项目概述&#xff1a;一次典型的企业应用安全攻防复盘最近在内部的一次授权渗透测试中&#xff0c;遇到了一个运行着Confluence的企业环境。整个过程从发现一个不起眼的漏洞开始&#xff0c;最终演变成一次完整的权限提升和数据窃取链条&#xff0c;涉及数据库提权、内存马注…

作者头像 李华