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

20253407 吴家豪 实验二

学号 2025-2026-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2534
姓名: 吴家豪
学号:20253407
实验教师:王志强
实验日期:2026年4月18日
必修/选修: 公选课

1.实验内容

(1)编写计算器程序
2b046313fd7160440d3b79a72f669d2d
4ed36dc8ad593ad7999a410e988df6c0
dc33f9212542fbb79b026199f724c9c8

我设置了16个功能,旨在实现绝大多数科学计算器的功能,主函数里负责显示结果,每一个分块里负责计算与判断报错。

Gittee链接
Gittee

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

image
image
image
image
image

多出来的功能、不同之处:

1.算完一道不用重开:加了while循环,可以连续算,直到你选 “退出”。

2.少输一个数:算平方、开根号时,程序会自动只让你输 1 个数,不用瞎输第二个数凑数。

3.结果不显示 “None”:原来算错了(比如除以 0)会打印错误然后显示None,现在只显示错误提示。

4.阶乘更严谨:原来输 2.5 也尝试算阶乘,现在会提示 “阶乘需要整数”。

新代码的理解:

1.operator_map = {...}:

比如查 “1”,就知道要用加法,且需要 2 个数;查 “7”,就知道要用平方,且只需要 1 个数。(替代了原来的 16 个elif)

2.while True: ... break:

程序会一直跑,直到输入 “17”,触发break,循环结束,程序关闭。

3.try: ... except ValueError::

你尝试输数字时,如果输成了文字,except会拦住报错,不让程序崩掉,而是让你重新输。

对比

我的代码 AI代码
1 算一次就要重新运行一次,麻烦 可以连续算,单目运算自动少输一个数
2 用了eval,如果输恶意代码会出事 用float,很安全
3 输错数会直接报错崩溃 输错了会提示,让你重输,不崩溃
4 16 个if-elif堆在一起,看着乱 用字典管理功能,逻辑清晰
5 出错时会显示None 只显示错误提示
6 适合我这种初学者 用了字典和循环

2. 实验过程及结果

1.自己写了程序,搜索了相关科学计算器的功能,并尝试实现
2.交给大模型补充优化代码
3.做对比分析
4.上传代码到Gittee存储
Gittee链接
Gittee

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

  • 问题1:有的计算方法不会,名称不知道
  • 问题1解决方案:上网搜索
  • 问题2:输入错误时会报错
  • 问题2解决方案:在有特殊运算的函数里增加判断步骤

其他(感悟、思考等)

要考虑程序的完整性以及错误判断,我的虽然有但仍不完善,同时还需要多多看一些函数,还有很多不会的要学。

参考资料

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

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

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

相关文章:

  • 当GitHub Copilot遇上Prometheus:构建生成-执行-反馈-进化闭环的最后1公里(含可运行K8s Helm Chart)
  • Realsense D435i多相机标定后,如何用Kalibr结果提升你的视觉SLAM精度?
  • 20243405 实验二 《Python程序设计》
  • HWIOAuthBundle性能优化:大规模用户认证的5个最佳实践
  • 【AGI协作革命白皮书】:20年AI架构师亲授人类与通用人工智能协同进化的7大黄金法则
  • 必备收藏!2026年降低论文AI率实用技巧:附主流检测平台对比 - 降AI实验室
  • AUTOSAR COM 3. 信号收发流程深度解析:从应用层到硬件驱动的数据之旅
  • Flutter_Mall状态管理实战:Provider在电商应用中的最佳实践
  • MyBatis-Plus Samples企业级应用架构:从单体到微服务的平滑过渡
  • 终极指南:Python-Markdown如何完美支持多语言和双向文本处理
  • OddAsr更新:将默认模型从moonshine改回paraformer
  • TTS 缓存、回放与音频分发体系:从可用 Demo 到生产级高并发架构全解
  • 【2026奇点大会权威解密】:AGI能力评估的5大核心指标与3个被低估的失效风险
  • 事务---特性及所产生的问题(附代码演示示例)
  • AGI突破性进展全扫描,从MoE架构跃迁到具身推理闭环——SITS2026圆桌未公开数据首度披露
  • 别再死记硬背了!图解‘等价类’和‘划分’,帮你彻底理解数据库表设计中的范式
  • 别再死记硬背dim=0是行还是列了!用‘控制变量法’5分钟彻底搞懂PyTorch/TensorFlow的维度操作
  • 大麦助手damaihelper:如何配置多场次多票档的智能抢票策略
  • lsix终极指南:如何在终端中快速预览图像文件
  • K8s 上 GPU 推理服务的弹性扩缩:从指标体系、控制链路到生产落地
  • Curio性能优化秘籍:让你的异步程序运行速度提升200%
  • ABC 454 C - Straw Millionaire 题解
  • Pixie语言入门指南:快速掌握这个轻量级魔法Lisp
  • 114
  • 别再折腾路由器了!用闲置树莓派打造低成本、高可靠的WOL远程开机服务器
  • CLIP ViT-H-14镜像免配置部署教程:7860端口Web界面快速启动详解
  • Advanced Tables 社区贡献指南:如何参与项目开发与改进
  • 终极Typhoeus常见问题解决手册:从超时设置到代理配置的完整指南
  • LVGL (7) 显示驱动与缓冲区配置实战
  • 从零到一:手把手教你用EISeg标注数据并训练Mask R-CNN模型