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

20254221 2025-2026-2 《Python程序设计》实验2报告
课程:《Python程序设计》
班级: 2542
姓名: 张祖贤
学号:20254221
实验教师:王志强
实验日期:2026年4月7日
必修/选修: 公选课
一、实验内容
(1)编写计算器程序

设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。

考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序

介绍相关功能,并分析生成的程序代码含义。

对比分析自写程序与生成程序的区别(好与坏)。

(二)实验要求

创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云。

(三)实验报告

在规定时间前发表博客,标题“学号 实验二《Python程序设计》实验报告”

(1)编写计算器程序
手搓版如下

屏幕截图 2026-04-07 203159

屏幕截图 2026-04-07 203219
运行结果如下:
1.加法运算

屏幕截图 2026-04-07 203420

2.减法运算

屏幕截图 2026-04-07 203448

3.乘法运算

屏幕截图 2026-04-07 203506

4.除法运算

屏幕截图 2026-04-07 203714

5.取模运算

屏幕截图 2026-04-07 203748

6.取整除法运算

屏幕截图 2026-04-07 203810

2.用LLM生成一个计算器程序
我通过豆包生成了计算器程序,代码如下:
屏幕截图 2026-04-07 203238
屏幕截图 2026-04-07 203251
屏幕截图 2026-04-07 203310
屏幕截图 2026-04-07 203324
核心优势
a. 导入模块:引入math数学库,提供底层计算支持
b. 定义主函数:calculator()是程序的入口,包含所有逻辑
c. 循环运行:通过while True构建无限循环,实现持续计算,直到主动退出
d. 异常处理:用 try-except捕获所有可能的错误,保证程序稳定不崩溃
3.对比分析自写程序与生成程序的区别(AI生成)
一、传统函数代码
优势
a. 教学性极强:完美对应课程要求。代码把加减乘除、取模、取整除法分别用 def 封装成独立函数, if-elif 清晰分支,完整考察 def 定义、流程控制、输入输出,是老师眼里的“标准作业”,适合实验报告提交。
b. 逻辑简单、易维护:交互流程固定(先输a→输b→选运算符),代码结构直白,新手能看懂每一行;后续修改某功能(比如改除法逻辑),只需要调整对应分支,调试、维护都很容易,无冗余逻辑。
c. 输入约束明确:严格限定输入格式,用户必须按流程操作,避免了非法输入带来的混乱,对新手非常友好,仅针对除法做了“除数为0”的基础防错,符合入门程序的设计标准。
劣势
a. 扩展性极差:想加新功能(比如次方、三角函数、开方),必须新建 def 函数,还要在 if-elif 里加一大段对应代码,每加一个功能就多写一堆行,维护成本随功能增加急剧上升。
b. 交互体验死板:只能做“两个数的二元运算”,不能一次性输入 (sin(30)+cos(60))*2**5 这类复杂表达式,使用效率低,不符合日常计算器的使用习惯。
c. 健壮性不足:只防了“除数为0”这一种错误,用户输入字母、非法符号时, int() 转换会直接报错导致程序崩溃,容错能力差,体验很不稳定。
二、AI代码
优势
a. 功能全开、扩展性拉满:无需改核心代码,直接支持次方( ** )、三角函数( sin/cos/tan )、括号嵌套等复杂运算,用户可自由输入任意合法表达式,功能远超传统版本,实用性大幅提升。
b. 交互自由、效率高:摆脱固定输入流程,支持一次性输入整段算式,计算效率高,还增加了弧度/角度制切换、清屏、退出等功能,更贴近真实计算器的使用逻辑。
c. 健壮性极强、不崩溃:内置完整 try-except 异常处理,能捕获除零、语法错误、非法输入等所有异常,输入错误仅提示不崩溃,程序稳定、体验好。
d. 代码简洁、复用性高:用 eval 解析表达式,省去大量冗余的 if-elif ,少代码实现多功能;同时通过沙箱限制 eval 权限,兼顾功能与安全性。
劣势
a. 教学性偏弱:核心依赖 eval 解析表达式,没有大量展示 def 、 if-elif 等基础语法,无法体现课程要求的“模块化编程”思路,不适合作为实验报告作业。
b. 安全性有隐患: eval 能执行任意代码,若输入恶意表达式存在安全风险(虽做了沙箱限制,但仍不如纯函数式安全)。
c. 对新手门槛稍高:自由输入表达式的逻辑,新手可能难以理解 eval 的工作原理,不利于基础语法的学习。

posted @ 2026-04-07 21:06  DANTE2026  阅读(4)  评论(0)    收藏  举报