导语
又到了"愉快的"周末写推送时间了~这次我们利用Python制作一个简单的计算器呗。
让我们愉快地开始吧~
开发工具
Python版本:3.6.4
相关模块:
python自带的tkinter和math模块即可。
环境搭建
安装Python并添加到环境变量即可。
先睹为快
在cmd窗口运行"calculator.py"文件即可。
效果如下:
原
理
简
介
先利用tkinter搭建基本的计算器界面,这里就不详细说明了,请自行参考相关文档,如:
https://docs.python.org/zh-cn/3/library/tk.html
代码如下:
界面效果如下图所示:
按键功能介绍如下:
0-9:数字键
.:小数点
+:加法
-:减法
*:乘法
/:除法
=:计算结果
1/x:取倒数
%:取余
del:退格键
CE:清空当前
C:清空所有
+/-:取反
sqrt:开根号
MC:将目前记忆的数字归零
MR:将当前计算出来的数字呈现出来
MS:无视目前记忆多少数字,直接以当前数字取代记忆中的数字
M+:记忆当前数字
M-:记忆当前数字(负数形式)
因为直接调用了math库和python的eval函数,所以功能实现起来很简单,这里主要讲几个实现过程中需要注意的细节。
(1)退格操作
显示框中只有一个数字的时候,使用退格键后应当使显示框显示数字0,而不是空。
(2)非法操作
把将0作为分母或对负数开根号等操作归入非法操作,避免程序抛出异常。
(3)设置当前显示字符最大长度
因为显示框长度有限,所以能显示的字符数量也有限,因此需要设置当前显示字符最大长度。比如用户不可以无限制地连续输入一连串数字,最终结果只能保留前多少位等等。
All Done!完整源代码详见相关文件。
更多
代码截止2019-01-18测试无误。
相关文件中提供了打包好的exe文件,无需环境搭建即可运行使用~
关于本公众号文章转载说明:
转载请注明原作者、出处(即本公众号),若原文有参考文献,请保留。需要设白的请在原文下方留言,(sry),本人谢绝设置长期可转载账号。
○
○
Charles的皮卡丘
Pikachu~
领取专属 10元无门槛券
私享最新 技术干货