20251222秦家昌 实验二《Python程序设计》实验报告
实验报告模板如下:
学号 2025-2026-2 《Python程序设计》实验x报告
课程:《Python程序设计》
班级: 2512
姓名: 秦家昌
学号:20251222
实验教师:王志强
实验日期:2026年4月15日
必修/选修: 公选课
1.实验内容
(1)编写计算器程序
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序
介绍相关功能,并分析生成的程序代码含义。
对比分析自写程序与生成程序的区别(好与坏)。
2. 实验过程及结果
1.编写思路
先写数字的输入函数:
循环接收字符串,并判断是否有+j或-j存在,
如否则进行evil()尝试转化为数字,若成功则打断
如是则去掉+j或-j并尝试转化为数字,成功就打断
后写计算器主题函数:
利用循环和判断,达到用户可自行选择继续和终止;
内部有数字,符号的输入函数,用于用户输入数据。
通过判断来决定经行那个运算
2.代码
2.1真人书写:


2.2AI书写:

3.结果
真人:
我的代码考虑的东西过多,过杂,使得代码并不简介,但加入了很多提示和判断,用户可以使用的更加顺手
1.支持使用简写1+j 或1-j

2.自动判断输入是否合法

AI:

AI的代码更为简介,显示和方便,可能是我的要求过于小了,我仅要求其为我写一个计算器;没有循环,过程简介明了,便于后期维护
4.gitee代码提交截图
1.AI 
2.我的代码 :



代码地址
真人代码:https://gitee.com/Qq_qjc/qjc_qjc/blob/master/计算器AP.py
AI代码:https://gitee.com/Qq_qjc/qjc_qjc/blob/master/计算器AI.py
3. 实验过程中遇到的问题和解决过程
- 问题1:不支持""""双引号包双引号
- 问题1解决方案:直接使用''''''
- 问题2:不支持非函数包含return
- 问题2解决方案:为方便直接包装为函数了,反正后面要用的话改一下输入输出就好
- 问题2:不支持非函数包含return
- 问题2解决方案:为方便直接包装为函数了,反正后面要用的话改一下输入输出就好
- 问题3:数字输入具有容易报错的性质
- 问题3解决方案:
模块化输入,包装为函数,同时做出以下调整,减少输入限制,提高鲁棒性
1.支持1+j,1-j的简化输入
2.支持输入错误重复输入
3.支持复杂数值化简,以经可能达到用户目的,如化简1.0为1,1+0j为1 - 问题4:原math.sqrt()函数不支持负数
- 问题4解决方案:用判断改进为支持负数输出虚数的计算器,提高适用性
其他(感悟、思考等)
这次简单计算器的编写使我体会到程序设计的难点,以及代码逻辑与现实思维之间的差距。
通常我们进行加减乘除运算时,对整数、小数、复数不会刻意区分,凭借本能计算,灵活多变。但在程序里,数字类型有着严格界限,小数运算还存在精度限制,很容易报错。这迫使我必须跳出日常思维,提前考虑各种极端情况,预判用户各种不规范、不合逻辑的输入方式,尽可能保证程序稳定、可用,使系统不会因异常输入而崩溃。
我清晰认识到自身编程能力仍有很大提升空间。面对问题时,我缺少系统性的解决思路,常常是修补好一处问题,另一处又出现新 bug。代码结构不够简洁清晰,篇幅冗长,不仅可读性差,就连自己回头梳理逻辑都要花费大量时间。
我感受到 AI 在编程学习中的重要作用。AI 可以提供多种参考思路,帮助我优化逻辑、学习编程技巧,改进原有设计。但 AI 也存在局限,它有时只追求解决问题,忽略实现过程的简洁易懂,给出的代码过于复杂,难以理解消化。

浙公网安备 33010602011771号