20254209 实验二《Python程序设计》实验报告
20254209 2025-2026-2 《Python程序设计》实验2报告
课程:《Python程序设计》
班级: 2542
姓名: 徐静怡
学号:20254209
实验教师:王志强
实验日期:2026年4月7日
必修/选修: 专选课
1.实验内容
(1)编写计算器程序
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。
(2)用LLM生成一个计算器程序
介绍相关功能,并分析生成的程序代码含义。
对比分析自写程序与生成程序的区别(好与坏)。
2. 实验过程及结果
(1)编写计算器程序
首先创建新文件,然后用运用这节课所学的函数相关知识,用def函数定义加减乘除模等运算函数

运用if判断语句和while循环语句编写主程序

将现在所写的程序中的int替换为eval,进而实现小数和复数的运算

现在运行以上计算器程序,可以正常输出结果,实现加减乘除模等运算功能,如图



(2)用LLM生成一个计算器程序
用deepseek生成计算器程序,程序及运行结果如图:





- 代码相关功能:这个计算器可以进行加减乘除模五种运算,按照“数字 运算符 数字”的格式输入算式后会显示结果,并且程序可以一直运行直到用户输入quit等指令主动退出。
- 代码分析:由于生成的程序中存在大量我看不懂的内容,所以在上网查找资料后以及询问deepseek后我大致弄清了每部分的内容及其作用。
1)第11行代码导入了sys工具,可以使用里面的功能,但是实际上好像没用上,所以我觉得可以当作是“准备了一个工具箱”;
2)第13行至第44行代码是计算部分,规定了用户输入的格式,同时用if语句判断运算符号(其中“/”运算会先检查num2是不是0,如果是0的话就会报错;“%”运算也是先检查0的情况),如果输入的运算符号超出加减乘除模的范围,就会输出“不支持这个运算符”;
3)第46行至第56行代码是整理结果,作用是去除小数部分中没用的“0”(比如说结果是8.0会输出8,结果是2.50会输出2.5),从而让数字看起来更顺眼;
4)第58行至第101行代码是主程序,包括欢迎语、主体while循环、读取输入内容、退出程序等部分;
5)最后的第103行至104行是启动程序,意思是如果你直接运行这个文件,就启动上面的主程序循环 - 对比分析:
- 自写程序:
优点:
1)可以实现整除计算
缺点:
1)一个完整的算式需要分三次输入,比较麻烦
2)一旦输入错误非常容易崩溃,安全性较差
3)步骤繁琐,需要反复确认是否继续 - 生成程序:
优点:
1)可以一次性输入完整的表达式,比较简捷
2)安全性好,有容错机制,考虑了各种输入错误的情况并且会输出对应提示
3)可以实现连续计算,输入quit直接退出
缺点:
1)没有整除运算的功能
3. 实验过程中遇到的问题和解决过程
- 问题1:LLM生成的程序看不懂
- 问题1解决方案:上网查找相关资料,询问deepseek让它给我解释每一句代码的意思;结果发现它解释的我依然看不太懂,于是进一步输入指令让它用大白话给我解释,最终逐步理解了生成代码的含义和逻辑
- 问题2:LLM生成代码运行失败
- 问题2解决方案:仔细阅读代码内容后发现我输入时数字和运算符之间没有加空格,所不符合正确的输入格式所以报错;加上空格后可以正常运行
其他(感悟、思考等)
1)学好英语很重要,英语词汇量大对帮助理解代码含义与各种指令的意思有直接帮助;
2)通过编写这个程序,我意识到逻辑的重要性:写代码要像搭积木一样一点一点来,把一个看似庞杂的程序拆分成几个小部分一个一个写就不觉得困难和没有头绪了
3)掌握了def函数的相关用法,进一步扩充了自己的知识库
浙公网安备 33010602011771号