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

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

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

课程:《Python程序设计》
班级: 2322
姓名: 夏韵诗
学号:20232223
实验教师:王志强
实验日期:2026年4月6日
必修/选修: 公选课

1.实验内容

(1)编写计算器程序

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

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

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

2. 实验过程及结果

(1)定义运算函数

根据实验的要求,先用函数定义好计算器的加减乘除、取模、取整除法、平方、立方、平方根,同时考虑到异常处理(除零错误、输入非数字、输入无效运算符)

image
image

(2)输出计算器基本信息。

添加一些装饰,输出计算器基本信息。

image

(3)利用while循环使用户可以重复使用计算器

image

(4)代码调试及运行结果

image

(5)利用LLM生成计算器程序

  • 一、整体结构区别
    原计算器:单函数整体编写,所有代码写在一个函数里,结构简单集中。
    LLM生成计算器:模块化多函数编写,每个运算功能单独封装成函数,结构清晰规范。
  • 二、功能丰富度区别
    原计算器:只有加减乘除、取模、取整、平方立方、开平方,基础功能较少。
    LLM生成计算器:除基础运算外,还有 n 次方、n 次方根、三角函数、对数、阶乘、进制转换、单位换算、历史记录查询,功能全面丰富。
  • 三、语法知识点区别
    原计算器:只用 Python原生基础语法(变量、输入输出、while 循环、if 判断、try 异常处理),不导入任何库。
    LLM生成计算器:额外导入math数学库,使用列表存储历史记录、循环遍历、格式化输出等进阶知识点。
  • 四、容错与健壮性区别
    原计算器:仅处理除数为 0、输入非数字两种基础错误。
    LLM生成计算器:完善多种错误判断,包括负数开偶次方、负数阶乘、对数真数小于 0、无效运算符、无效选择等,容错性更强,程序更稳定。
  • 五、交互与界面区别
    原计算器:菜单数字选择运算,不用手动输入运算符,操作简单不易出错,界面朴素。
    LLM生成计算器:四则运算需要手动输入运算符,界面排版美观带符号装饰,结果保留小数,交互体验更好。
    image
    image
    image
    image
    image
    image
    image
    image
    image

(6)将代码托管到git

image

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

  • 问题1:用计算器实现除法功能时报错。
    问题1解决方案:除数为0的情况单独考虑,提示输入错误并进入下一循环。

其他(感悟、思考等)

制作这个简易计算器是一个由简单到复杂,功能由单一到繁多的过程。当我们面对一个复杂的编程任务时也可按照这种方法,先确定大概的框架,将复杂的问题分解成若干个小问题,然后逐个解决。同时,这次实验也让我对选择、循环、条件等语句的使用更加熟练,认识了一些新的函数,更感受到了Python的强大。

参考资料

  • 《Python编程:从入门到实践》
http://www.jsqmd.com/news/668097/

相关文章:

  • 全球仅17个认证节点在运行的AGI灾害推演平台,中国占8席——SITS2026专家亲授接入标准与合规避坑指南
  • 从不敢开口到搞定印度客户:我的SAP Global项目英语实战踩坑与提升记录
  • 从一次线上性能排查说起:我是如何用CPU亲和性(sched_setaffinity)给Nginx工作进程做绑核优化的
  • 2026年降AI工具按次付费和包月套餐哪种更划算:长期用户费用对比
  • Halcon镜头畸变矫正后,你的标定板图像真的“干净”了吗?一个容易被忽略的细节
  • 从课设到实战:用LM386和运放搭建一个带蓝牙的桌面小音响(附PCB与避坑心得)
  • ESP8266开发环境二选一:手把手教你用AiThinkerIDE_V1.5.2玩转NonOS与RTOS SDK(含项目迁移避坑指南)
  • 别再手动解析串口数据了!给单片机项目嵌入一个极简RPC框架的完整指南
  • 3分钟快速上手:Windows终极免费虚拟光驱工具完整指南
  • Google 地图控件集
  • CANoe实战:手把手教你配置UDS诊断0x10服务的CDD文件(含P2/P2*参数详解)
  • 三步重塑Windows体验:Winhance中文版实战手册
  • 手把手教你用SM2246EN主控板DIY 512G MLC固态U盘(含避坑指南)
  • 告别密码!在Arch Linux上用Howdy实现人脸解锁登录和sudo认证(保姆级避坑指南)
  • 2026年高校AIGC检测升级了什么:新版检测和旧版的核心差异解读
  • 2026年AI工具怎么选?别只看参数,先想清楚这3个问题
  • ARM64 Mac 自动化游戏实战:MAA与ALAS双端部署与优化指南
  • 从手机射频到CPU供电:拆解身边电子产品,看耦合与去耦电容如何各司其职
  • 3步解锁旧Mac潜能:OpenCore Legacy Patcher完整使用指南
  • NumPy广播机制深度解析:从ValueError: operands could not be broadcast together with shapes说起
  • 为什么导师用肉眼也能看出AI写的文章:AI写作特征深度分析
  • STM32F103C8T6新手避坑指南:用软件IIC读取MPU6050原始数据,串口打印实测(附完整工程)
  • Proxmox Mail Gateway (PMG) 部署与基础安全配置实战
  • 告别两天仿真!用Hypre库加速你的CFD/有限元计算(附Windows/Linux安装配置)
  • 抖音本地推官方代理商服务哪家更合适 - 品牌排行榜
  • AGI常识推理能力发展路线图(2024–2028):含4阶段演进指标、2类关键数据飞轮构建法及1套企业级评估SOP
  • springboot中医“知源”小程序(文档+源码)_kaic
  • 抖音本地推代理商选哪家更合适 - 品牌排行榜
  • 终极原神工具箱使用指南:如何让Windows玩家体验全面提升
  • 保姆级教程:用Qt和QThread打造一个工业级串口调试助手(支持多线程收发)