| 这个作业属于哪个课程 | https://bbs.youkuaiyun.com/forums/ssynkqtd-05 |
|---|---|
| 这个作业要求在哪里 | https://bbs.youkuaiyun.com/topics/617294583 |
| 这个作业的目标 | 实现一个具有可视化界面的科学计算器 |
| 参考文献 | http://t.csdnimg.cn/4Qomr |
目录
Github项目地址
https://github.com/BillOzmov/102101520-softwarework
功能展示
计算器展示
PSP表格
| PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 25 | 20 |
| • Estimate | • 估计这个任务需要多少时间 | 25 | 20 |
| Development | 开发 | 975 | 1200 |
| • Analysis | • 需求分析 (包括学习新技术) | 300 | 300 |
| • Design Spec | • 生成设计文档 | 60 | 40 |
| • Design Review | • 设计复审 | 30 | 20 |
| • Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 10 |
| • Design | • 具体设计 | 90 | 90 |
| • Coding | • 具体编码 | 300 | 300 |
| • Code Review | • 代码复审 | 45 | 70 |
| • Test | • 测试(自我测试,修改代码,提交修改) | 120 | 370 |
| Reporting | 报告 | 100 | 140 |
| • Test Repor | • 测试报告 | 30 | 60 |
| • Size Measurement | • 计算工作量 | 20 | 30 |
| • Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 50 | 50 |
| 合计 | 1100 | 1360 |
解题思路描述
1.如何实现计算器的GUI界面:
我选择了Python的tkinter库进行计算器的界面开发,因为Python提供了丰富的模块和库,可以方便地扩展GUI应用程序的功能,而且tkinter库的使用较为简便。
2.如何实现计算器的核心功能:
显示计算界面:
我使用tk.StringVar() 创建一个字符串变量来表示计算结果通过tk.label()显示在计算器界面上,按钮则通过在一个buttons列表中遍历显示出来。
按钮功能:
在点击计算器按钮后应根据按钮文本内容的不同进行不同的操作,因此我将按钮文本内容作为参数传入同一个函数,在这个函数中进行字符串匹配再执行相应的操作。
计算表达式:
主要利用self.result_var.get()获取字符串的特定部分再将其转化为数字或字符进行运算。
3.exe打包:
选择安装pyinstaller对py文件进行打包。
设计与实现过程
1.将所有按钮装入一个列表,命令是调用函数传入对应文本字符串:
buttons = [
("arctan", "sin", "cos", "tan", "x!", "1/x"),
("arcsin", "^", "√", "%", "(", ")"),
("arccos", "7", "8", "9", "÷", "AC"),
("lg" , "4", "5", "6", "*", "CE"),
("ln" , "1", "2", "3", "-", "←"),
("π" , "e", "

本文详细介绍了如何使用Python的tkinter库开发一个具有可视化界面的科学计算器,包括GUI界面设计、核心功能实现、exe打包、性能优化、异常处理和单元测试等内容,以及开发过程中的心得体会和经验总结。
最低0.47元/天 解锁文章
1267

被折叠的 条评论
为什么被折叠?



