20252302 实验二《Python程序设计》实验报告
学号 2025-2026-2 《Python程序设计》实验2报告
课程:《Python程序设计》
班级: 2523
姓名: 邢城瑜
学号:20252302
实验教师:王志强
实验日期:2026年4月19日
必修/选修: 公选课
1.实验内容
(1)编写计算器程序
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序
介绍相关功能,并分析生成的程序代码含义。
对比分析自写程序与生成程序的区别(好与坏)。
2. 实验过程及结果
(1)自主编写
在课上老师代码实现加减乘除模商等基础运算的基础上,新增了对除、模等运算的错误提示。
对数、开方等使用math函数计算,通过eval实现输入数字的灵活性,使用格式化输出。
同时,使用循环实现同一进程多次计算。

运行过程

(2)LLM编写
豆包编写的代码

聪明的豆包编写的代码运行ing

豆包代码优点分析
- 功能全面
整合基础四则运算、科学函数、进制转换,还加入计算历史记录,实用性强,满足多种计算需求。 - 结构模块化
各类运算单独封装成独立函数,条理清晰,可读性高,方便修改与增添新功能。 - 容错性强
设置除零报错、负数开方校验、非法输入拦截,完善异常处理,程序运行稳定不易崩溃。 - 交互体验好
菜单式选择操作,提示文字清晰,支持查看历史计算记录,操作简单易懂。 - 拓展性优秀
代码预留拓展空间,可轻松添加对数、图形界面等新功能,后期维护便捷。 - 规范严谨
导入库合理,函数注释齐全,代码书写工整,符合Python基础编程规范。
(3)代码对比与改进建议
1.我的代码封装不够好,在部分步骤缺少对非数字输入的处理,在不分步骤缺少参数校验。
2.代码较为冗余,在函数中可以省略result中间量,直接return即可
3.(豆包提出此条)eval会影响输入的安全性,被恶意代码注入有可能会造成较大影响。
3. 实验过程中遇到的问题和解决过程
- 问题1:自定义pow函数与python内置函数重名,导致报错
- 问题1解决方案:修改函数名为power,避免重复
- 问题2:除零操作导致崩溃
- 问题2解决方案:设置校验与提示,避免进程直接因错误结束
4.上传到gitee
将人工写的和LLM豆包写的上传到gitee
我的gitee仓库
提交过程

仓库截图

其他(感悟、思考等)
1.代码封装是一件很考虑细心度的事情,必须要做的滴水不漏。
2.代码的拓展性(例如逻辑、不冗余)做得好的话,拓展起来就会很方便;反之(shit山代码)就很恼人。
3.AI可以分析你的代码提出优化建议与风险点,很有用,但有的时候不够准确,参考即可。

浙公网安备 33010602011771号