2025-2026-2 《Python程序设计》实验报告
课程:《Python程序设计》
班级: 2432
姓名: 赵怡喆
学号:20243213
实验教师:王志强
实验日期:2026年4月13日
必修/选修: 公选课
1.实验内容
(一)实验内容
(1)编写计算器程序本次计算器程序开发,我在课堂跟随老师搭建程序框架的基础上,自主进行细节优化与功能拓展。代码采用模块化设计,所有运算功能均通过自定义函数实现,具体涵盖:加法、减法、乘法、除法、取余、求次方、求对数及开平方等功能。其中,加减乘除、取余、次方、对数运算需输入两个数值,而开平方运算仅需输入一个数值;同时借助 库完成对数、开方、次方的核心计算,并利用格式化字符串输出结果提升可读性。程序支持通过 `eval` 解析整数、小数及复数输入,结合循环结构实现一次计算后可选择继续使用,整体逻辑清晰、功能完整,充分体现了Python基础语法、函数定义、流程控制及异常处理等知识点的综合运用。
以下是该代码的测试



- 用LLM生成一个计算器程序
利用的是cursor大模型


介绍相关功能,并分析生成的程序代码含义。
这个计算器程序是一个命令行菜单式应用:通过 while True 循环不断显示功能菜单,用 if/elif/else 根据用户选择完成加减乘除、取模、幂运算以及 gcd/lcm 等计算;输入部分用函数 read_number/read_int 做了循环校验,并用 try/except 防止用户输入非法字符导致程序崩溃,同时支持用 ANS(上次结果)和 M(记忆值)快速参与下一次运算;每次计算会把结果更新到 ANS,并把计算过程追加到 history 方便查看和清空,最后用 if __name__ == "__main__": main() 作为程序入口来启动整个流程。
对比分析自写程序与生成程序的区别(好与坏);
第一个程序是我根据课堂知识独立完成的基础计算器,实现了基本运算和简单循环,能体现对Python基础语法的掌握;第二个由AI完善优化后的程序在功能上有明显提升,不仅保留了原有计算功能,还增加了最大公约数、最小公倍数、计算历史记录、记忆值存储、ANS调用等实用功能,界面更规范、交互更友好,异常处理也更完善,程序整体更健壮、更贴近实际使用。通过对比,我发现自己在程序模块化设计、用户体验优化、功能拓展思路以及异常处理等方面还有很多需要学习和提升的地方,今后会更加注重代码结构的合理性和程序的实用性。
3. 实验过程中遇到的问题和解决过程
-问题1:Python 里的 try 语句必须跟 except 或 finally 配对,你的代码里,if choice == 0: 这行写在了 try 代码块里,但 try 块没有被 except 或 finally 收尾(把这个组合给忘了。。。)

- 问题1解决方案:

加上了expect问题都解决了
- 码云托管

其他(感悟、思考等)
通过这次计算器程序编写,我深刻体会到基础编程与实用程序的差距。我自己写的(其实是在老师的帮助下实现的)程序仅实现了基本运算,功能简单、考虑不够全面;而AI优化后的程序功能更丰富、结构更规范,还增加了历史记录、记忆值、容错处理等实用设计,让程序更完整、更易用。这让我认识到,编程不仅要实现功能,更要注重逻辑严谨性和用户体验。今后我会多学习优秀代码思路,加强程序设计能力,努力写出更规范、更完善的程序!!!!
参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...
浙公网安备 33010602011771号