20254106 实验二《Python程序设计》实验报告
20254106 2025-2026-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2541
姓名: 谢林儒
学号:20254106
实验教师:王志强
实验日期:2026年4月7日
必修/选修: 公选课
1.实验内容
(1)编写计算器程序
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善;
考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序
介绍相关功能,并分析生成的程序代码含义;
对比分析自写程序与生成程序的区别(好与坏)。
2. 实验过程及结果
(1)编写计算器程序
模仿老师上课代码,编写一个简单的计算器程序。
具备如下功能:
整数与小数的加减乘除模的运算;
较为基础的文字提示语与装修;
除数与模数不为0的运算规范;
在一次运算结束后可循环使用该计算器进行计算。
代码截图与运行结果截图见下:


以下从四个方面简单介绍该计算器程序
a.基本语法: def 定义加减乘除等运算函数; return 返回计算结果; input() 输入数据与运算符;print()输出文字提醒与计算结果;float() 将输入内容转换为小数; +、-、*、/、%、// 作为算术运算符完成数学运算。
b.判定语句:
·if-elif-else 多分支判断用户输入的操作符,匹配对应的运算函数,无效操作符时执行相关文字提醒;

·用单分支 if 判断除数、模数是否为 0,避免程序报错;用单分支 if判断用户是否输入退出指令,控制程序结束。


c.循环语句:
·while True 构建无限循环,实现重复计算;

·break 语句,在输入 N/n 时终止循环、退出程序;

·continue 语句,在输入无效操作符时跳过本次循环,开始新循环。

d.逻辑运算:
·逻辑或运算 or 判断用户输入,兼容大小写输入;

·布尔条件 == 判断有关“0”的运算错误校验;

·条件分支的逻辑运算,实现计算器五种运算函数的基本运算功能;
·循环与判定语句参与逻辑运算,完成循环、错误提示、退出计算器程序的完整流程。
(2)用LLM生成一个计算器程序
使用豆包生成一个计算器程序,输入指令为:生成一个计算器程序,包含多种运算函数,可以支持输入复数、分数等特殊格式数字,尽量完善。
下为豆包生成代码图:

功能介绍:
a.自动识别整数、小数、分数、复数
b.核心运算(11 种)
基础:加减乘除、取模
分数专用:自动化简
复数专用:求共轭、模长
高级:幂运算、开平方(负数自动转复数)、求倒数
c.文字提醒细致精准,便于使用者上手
分析生成的程序代码含义:
·导入(基础语句:import / from ... import)

·数字解析parse_number
a.def 定义函数:将文本转换为数字;定义加减乘除等运算
b.try-except 异常捕获语句
c.if-elif-else 条件判断语句
d.return 函数返回语句
e.Fraction() / complex() / float() 把文字转成分数/复数/小数

·其他
a.raise 主动抛出错误

b.Python固定启动语句

(3)对比分析自写程序与生成程序的区别(好与坏)
【自写程序】
--------------------优点----------------------
a.简单易懂:全程只用了最基础语法,新手写得出来、看得懂
b.逻辑直接:代码一步到底,想改运算逻辑可以直接改
c.无依赖性:不用导入任何额外库,直接运行
--------------------缺点----------------------
a.输入数据有限制性:不支持分数、复数,输入字母 / 符号会直接闪退
b.只有除数为 0 的简单判断,容错能力低
c.存在BUG...除法 / 取模判断b=0后,依然会执行运算,程序直接报错崩溃
d.功能简陋:只有 6 种基础运算,无高级功能,无特殊数字支持
e.用户体验比较差:手动输入运算符号,提示不全面
【豆包生成程序】
--------------------优点----------------------
a.功能拉满:支持整数、小数、分数、复数4 种数字,11 种运算(含分数化简、复数共轭、负数开方)
b.程序稳定,不易崩溃:任何错误都不会崩溃,只提示友好信息
c.代码结构规范:模块化设计(解析函数 + 运算函数 + 主程序分离)
e.用户体验良好
f.无任何 BUG:运算逻辑严谨,错误都存在相应解决机制
--------------------缺点----------------------
a.代码量大,新手难理解
3. 实验过程中遇到的问题和解决过程
- 问题1:输入代码出现一行程序编写错误:if conti == "N": or conti == "n":,导致程序无法正常运行
- 问题1解决方案:将代码复制粘贴给豆包,并发现错误在于句中多打了“:”,删除后,程序可以正常运行
- 问题2:在制作报告的过程中,无法使用专业术语对循环语句、逻辑运算等进行介绍
- 问题2解决方案:针对代码中不懂的符号进行搜索学习
其他(感悟、思考等)
此次编写计算器程序作为第二次实验课的内容,老师带领编写的代码存在大量反复运用的函数,跟着步骤,我学会了用 def 定义加减乘除模、用 while 循环实现连续计算,对if-elif-else的运用更加熟练;在与LLM生成程序代码的对比中,还对许多Python知识有了初步了解,如try-except 处理除零这类基础异常、Fraction() / complex() / float()对特殊数字的转化,排查拼写错误时也比第一次实验耐心多了。
经过了一段时间的python学习,我对编程也渐渐熟悉,甚至产生了想要深入了解的想法,以后要在能力范围内重视Python课程,认真听课,通过课件与网上搜索进行及时的跟进复习。
浙公网安备 33010602011771号