20252417 实验二《Python程序设计》实验报告

20252417 2026-4-15 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2524
姓名: 艾家程
学号:20252417
实验教师:王志强
实验日期:2026年4月13日
必修/选修: 公选课

1.实验内容

(1)编写计算器程序

设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。

(2)用LLM生成一个计算器程序

介绍相关功能,并分析生成的程序代码含义。
对比分析自写程序与生成程序的区别(好与坏)。

2. 实验过程及结果

2.1程序的调试与运行

图片

运行结果

图片

2.2LLM生成代码

图片

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解决方案:在各运算方法(如divide/square_root)中添加条件判断(如if b == 0: raise ValueError),主函数用try-except捕获异常并返回错误提示(如“错误:除数不能为零”)。

其他(感悟、思考等)

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

参考资料

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