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生成的程序的优点有

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

2.4Gitee代码托管

图片

3. 实验过程中遇到的问题和解决过程

问题1:输入非数字(如字母)时程序崩溃,无法继续计算。
问题1解决方案:用try-except包裹输入转换(float(input())),循环提示“请输入有效数字”直至输入合法。

问题2:执行除零(/0)、负数开方(sqrt(-1))等非法运算时程序报错终止。
问题2解决方案:使用try进行异常处理

其他(感悟、思考等)

通过本次实验,加强了对基本语法、判定语句、循环语句、逻辑运算等知识点的理解。从LLM生成的代码中学到了如何让程序应对各种错误输入,今后写代码也要注意程序健壮型,代码可读性等问题。

参考资料

无,因为我没有参考

posted @ 2026-04-15 21:30  AAA213213  阅读(12)  评论(0)    收藏  举报