学号 2025-2026-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2534
姓名: 吴家豪
学号:20253407
实验教师:王志强
实验日期:2026年4月18日
必修/选修: 公选课
1.实验内容
(1)编写计算器程序



我设置了16个功能,旨在实现绝大多数科学计算器的功能,主函数里负责显示结果,每一个分块里负责计算与判断报错。
Gittee链接
Gittee
(2)用LLM生成一个计算器程序





多出来的功能、不同之处:
1.算完一道不用重开:加了while循环,可以连续算,直到你选 “退出”。
2.少输一个数:算平方、开根号时,程序会自动只让你输 1 个数,不用瞎输第二个数凑数。
3.结果不显示 “None”:原来算错了(比如除以 0)会打印错误然后显示None,现在只显示错误提示。
4.阶乘更严谨:原来输 2.5 也尝试算阶乘,现在会提示 “阶乘需要整数”。
新代码的理解:
1.operator_map = {...}:
比如查 “1”,就知道要用加法,且需要 2 个数;查 “7”,就知道要用平方,且只需要 1 个数。(替代了原来的 16 个elif)
2.while True: ... break:
程序会一直跑,直到输入 “17”,触发break,循环结束,程序关闭。
3.try: ... except ValueError::
你尝试输数字时,如果输成了文字,except会拦住报错,不让程序崩掉,而是让你重新输。
对比
| 我的代码 | AI代码 | |
|---|---|---|
| 1 | 算一次就要重新运行一次,麻烦 | 可以连续算,单目运算自动少输一个数 |
| 2 | 用了eval,如果输恶意代码会出事 | 用float,很安全 |
| 3 | 输错数会直接报错崩溃 | 输错了会提示,让你重输,不崩溃 |
| 4 | 16 个if-elif堆在一起,看着乱 | 用字典管理功能,逻辑清晰 |
| 5 | 出错时会显示None | 只显示错误提示 |
| 6 | 适合我这种初学者 | 用了字典和循环 |
2. 实验过程及结果
1.自己写了程序,搜索了相关科学计算器的功能,并尝试实现
2.交给大模型补充优化代码
3.做对比分析
4.上传代码到Gittee存储
Gittee链接
Gittee
3. 实验过程中遇到的问题和解决过程
- 问题1:有的计算方法不会,名称不知道
- 问题1解决方案:上网搜索
- 问题2:输入错误时会报错
- 问题2解决方案:在有特殊运算的函数里增加判断步骤
其他(感悟、思考等)
要考虑程序的完整性以及错误判断,我的虽然有但仍不完善,同时还需要多多看一些函数,还有很多不会的要学。
参考资料
-
《Java程序设计与数据结构教程(第二版)》
-
《Java程序设计与数据结构教程(第二版)》学习指导
