当前位置: 首页 > news >正文

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生成的代码中学到了如何让程序应对各种错误输入,今后写代码也要注意程序健壮型,代码可读性等问题。

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

http://www.jsqmd.com/news/646756/

相关文章:

  • moveit servo 发指令给real arm
  • Llama-3.2V-11B-cot教育领域效果:自动批改作业与生成个性化习题
  • MeshLab进阶技巧:如何用边界提取+二次裁剪实现复杂模型分块(以STL文件为例)
  • Chromium魔改实战:如何打造一个随机指纹的高匿名爬虫浏览器(附Canvas指纹绕过技巧)
  • 告别手动启动:用NSSM把Nginx、Redis、Java Jar包一键注册为Windows服务(保姆级教程)
  • 刚刚,Anthropic官方Harness被LangChain悄悄开源了~
  • CAN FD与传统CAN混用方案:基于STM32G473的双模式配置详解
  • 我用100行Go代码写了一个简易的Git服务器
  • 从毕设到实战:手把手教你用Spark MLlib + SpringBoot搭建一个可运行的电商推荐系统
  • 超纯水处理系统案例:西门子200SMART加显控触摸屏,30吨双级反渗透+EDI工艺控制程序
  • 卷积改进与轻量化:动态卷积 DyConv 在 YOLOv8 中的实现:输入自适应卷积核
  • 题解:洛谷 B2091 向量点积计算
  • 多Agent架构入门到精通:拆解GitHub最火的5个方案,收藏这一篇就够了!
  • AI技能贬值?未来产品经理的4个“AI替代不了“必修课!
  • 别再只盯着PHP了:用Python Flask实战文件上传漏洞与防护(附完整Demo)
  • 网络协议分析与AI预测:使用PyTorch模型进行网络流量异常检测
  • 题解:洛谷 B2092 开关灯
  • Xmind 8 Pro与最新版对比:功能差异与升级建议
  • 手把手教你用Docker部署OnlyOffice魔改版:解锁WPS格式编辑与300人协作
  • Camera Shakify:Blender动画相机抖动效果的终极解决方案
  • 制造研发降本新思路:云飞云共享云桌面集群如何将软硬件利用率提升至200%?
  • 近场与远场:确定性与概率性的分野
  • 私域变现模式系统小程序开发
  • 血小板、红细胞、白细胞一网打尽:YOLO26血液细胞检测系统
  • 120吨双级反渗透程序+混床程序,以及阻垢剂、杀菌剂 加药。 一键制水,一键反洗,一键正洗,无人值守
  • 题解:洛谷 B2090 年龄与疾病
  • 工业视觉开发者必看:Halcon深度学习工具0.5与0.6版本功能对比实测
  • 指纹浏览器哪款最真实?我用CreepJS测了4款工具
  • SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习
  • kubectl命令检索context优先级