20212312 2023-2024-2 《Python程序设计》实验二报告
20212312 2023-2024-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2123
姓名: 应万里
学号:20212312
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课
1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
2. 实验过程及结果
编写运算方法


加减乘除基础运算:使用eval方法直接运算表达式
三角函数、对数、指数运算:使用math库中的函数方法运算结果
表达式处理逻辑


对按钮进行遍历,由于对数函数log的运算逻辑需要额外弹窗和其他函数不同,所以我们为log单独做一个跳转语句
command函数的目的是根据用户点击的按钮类型,更新输入框的内容,以便执行计算、清除输入框或者帮助用户输入数学函数表达式
极其理工的UI设计
buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('0', 4, 1),
('+', 1, 3), ('-', 2, 3), ('*', 3, 3), ('/', 4, 3),
('.', 4, 0),
('=', 4, 2), ('C', 4, 4), ('sin', 5, 0), ('cos', 5, 1), ('tan', 5, 2),
('ln', 5, 3), ('log', 5, 4)
]
运算结果
见视频~~~
3. 实验过程中遇到的问题和解决过程
- 问题1:如何处理不同操作按钮的运算逻辑,计算器上的不同按钮,比如加减乘除和三角函数以及对数运算的输入格式都不一样,该怎么处理呢,如何将归零和等号与运算符号分开?
- 问题1解决方案:将不同按钮处理逻辑分类:
1.运算符号:
①+、-、*、/(需要多个输入参数):使用eval方法运算字符串表达式
②sin、cos、tan、ln(需要单个参数):使用math库中的函数
③log(需要两个参数且需要区分真数和底数):单独做一个弹窗
2.功能符号:
①=:调用计算函数
②C:清空输入框
其中:1.与2.之间用command(x)区分是否需要在输入框中追加运算参数or运算符号还是运算输入框或者清空输入框。
完整源代码和可执行程序
其他(感悟、思考等)
在设计和实现一个具有不同功能按钮的计算器时,我们面临着如何高效地处理各种运算逻辑和用户输入的挑战。通过这个实验,我实现了如何将复杂的运算需求分解成可管理的部分,并设计了一个直观且用户友好的界面来处理各种数学运算。我得到了下面几点体会
- 分类处理逻辑的重要性
将计算器上的按钮分为运算符号和功能符号是实现复杂功能的关键。这种分类不仅使得代码结构更清晰,而且还提高了代码的可维护性。运算符号包括基本的加减乘除和更高级的数学函数,如三角函数和对数函数,每种运算都有其特定的输入格式和处理逻辑。功能符号则负责非运算操作,如清空输入框或执行计算。 - 动态输入和计算的灵活性
使用eval方法处理基本算术运算提供了一种动态解析和执行字符串表达式的方式。这种方法虽然强大,但在实际应用中需要谨慎使用,以避免执行不安全的代码。对于特定的数学函数,如sin、cos、tan和ln,则需要调用Python的math库。这些函数通常接受单个参数,并返回计算结果。对于更复杂的函数,如log,需要从用户那里获取两个参数(真数和底数),这通过一个简单的弹窗实现,进一步增强了用户交互性。 - 用户界面的直观性
设计一个直观的用户界面对于提高用户体验至关重要。通过为不同的操作提供明确的视觉提示和易于理解的输入方式,可以大大减少用户的学习曲线。例如,为三角函数和对数运算提供专门的按钮,并通过弹窗引导用户输入必要的参数,这样的设计既直观又高效。 - 错误处理的必要性
在用户进行输入和计算时,错误是不可避免的。有效的错误处理机制不仅能够提升用户的信心,还能避免程序因异常而崩溃。在本实验中,通过捕获异常并在输入框中显示错误消息,提供了一种用户友好的方式来通知用户问题所在,从而允许用户更正输入,而不是让程序处于不稳定状态。
参考资料
无
相关推荐
Python程序设计应用基础实验(2023.春季).zip
这个"Python程序设计应用基础实验(2023.春季).zip"文件很可能包含了针对初学者的Python编程教学材料,旨在帮助学生掌握Python的基础知识和实际应用。
2023年Python白盒测试实验报告.doc
实验报告基础信息:报告由青岛科技大学的学生闫伟明编写,实验课程为软件测试基础,试验项目为白盒测试,专业为计算机科学与技术,班级为惠普测试142班,实验日期为2023年11月25日。2.
南京工业大学 2023-2024 学年程序语言设计(Python 程序设计)部分作业及考试
2023-2024学年程序语言设计(Python程序设计)的课程内容涵盖了Python语言的基础语法、数据结构、控制流程、函数定义、模块使用、文件处理、面向对象编程、异常处理、标准库的使用等关键知识点。
2023年Python程序设计与实践大作业实验报告陆阳孙勇裘升明.doc
本实验报告由浙江工商大学计算机与信息工程学院的陆阳、孙勇、裘升明三位同学撰写,报告内容围绕《Python程序设计与实践》这门课程的大作业项目。
大数据平台技术—实验5(2023-2024-1).doc
二、实验环境:使用的材料、设备、软件:Linux 操作系统环境,Python 程序设计语言,Jupyter Notebook 编程环境。


