20252417 实验二《Python程序设计》实验报告
20252417 2026-4-15 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2524
姓名: 艾家程
学号:20252417
实验教师:王志强
实验日期:2026年4月13日
必修/选修: 公选课
1.实验内容
(1)编写计算器程序
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序
介绍相关功能,并分析生成的程序代码含义。
对比分析自写程序与生成程序的区别(好与坏)。
2. 实验过程及结果
2.1程序代码



代码说明
可以实现 加法 减法 乘法 除法 取模 幂运算 整除 阶乘

在最开头定义了factorial(n)函数用来运输阶乘

首先打印菜单,用户做出选择,再依据选择进入不同的运输,最后输出结果

程序的调试与运行

运行结果

2.2LLM生成代码

功能分析
总共有四个功能

1普通运算
使用了python内置的eval函数,直接运算字符串表达式,用try检测结果是否正确,避免错误输入导致报错

2阶乘运算
使用先前定义的factorial函数,用try处理异常

3查看历史
运算完成之后将结果储存在history列表中

4清空屏幕
调用os库中的函数清空屏幕

LLM生成代码运行

2.3代码对比
LLM生成的程序的优点有
- 功能更丰富:除基本运算外,新增平方根、阶乘、三角函数、对数等高级数学函数,及历史记录、内存存储/读取、清除等实用功能。
- 错误处理更完善:通过try-except捕获除零、负数开方、非整数阶乘等异常,避免程序崩溃;输入非数字时循环提示重输,而非直接报错。
- 用户体验更友好:采用菜单式交互(选项0-18),逻辑清晰;支持查看/清除历史记录、设置当前值,操作更灵活。
- 代码结构更优:用Calculator类封装功能,模块化强,便于扩展;通过get_number_input统一处理输入验证,减少重复代码。
- 健壮性更强:对边界情况(如阶乘需非负整数、对数需正数)做严格校验,确保计算合法性。
2.4Gitee代码托管

3. 实验过程中遇到的问题和解决过程
问题1:输入非数字(如字母)时程序崩溃,无法继续计算。
问题1解决方案:用try-except包裹输入转换(float(input())),循环提示“请输入有效数字”直至输入合法。
问题2:执行除零(/0)、负数开方(sqrt(-1))等非法运算时程序报错终止。
问题2解决方案:使用try进行异常处理
其他(感悟、思考等)
通过本次实验,加强了对基本语法、判定语句、循环语句、逻辑运算等知识点的理解。从LLM生成的代码中学到了如何让程序应对各种错误输入,今后写代码也要注意程序健壮型,代码可读性等问题。
参考资料
无,因为我没有参考

浙公网安备 33010602011771号