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

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

课程:《Python程序设计》
班级: 2412
姓名: 张耀
学号:20241226
实验教师:王志强
实验日期:2026年4月13日
必修/选修: 公选课

1.实验内容

(1)编写计算器程序

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

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

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

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

2. 实验过程及结果

2.1编写计算器程序:代码截图如下:
4495c1df3c55429f1e18be3c3b26db0a
a3d3415d1c8b63b8997b422b9c7f7d32
运行截图如下:
(1)加法运算:8abec18395b2ddd305c1ac27d286872f
(2)减法运算:ea4618cef7544e81171fbfde9427cd0e
(3)乘法运算:1bbc00c4626a621f07148b2984f3e353
(4)除法运算:d3b8a4f19bd8ccf871c63042f6c61369
(5)取模运算:66d080e65f76131026843a04225c75ee
(6)整除运算:441a93e82cda290ab147f0f9adddb421
(7)对数运算:29959069186cd80cbd9b7b9ecd3deca7
(8)次方运算:94f8ff19824fae9f8a07d7bf0b072bab
将实验代码托管到Gitee仓库,仓库链接:https://gitee.com/morewan/shiyan2/blob/master/main.py
(9)功能总述:这是一个可循环使用的控制台交互式计算器程序,基于 Python 实现,支持基础算术运算和数学高级运算,能持续接收用户输入并输出计算结果,直到用户主动退出。
(10)关键代码及解析:

  1. 导入数学库

import math

解释:导入math库,支持对数、次方运算。

  1. 运算函数定义

def sum(a,b): return a+b:定义加法函数,封装运算逻辑。

def div(a,b): return a/b:定义除法函数。

后面几个函数同理。

  1. 循环控制

choice = True; while choice::控制程序连续计算。

if con.lower() == "n": choice = False:输入N/n退出程序。
2.2用LLM生成一个计算器程序:
用豆包生成了计算器程序:
19cc3c3a633aa13aade2f9965553cae9
运行如下:
901cec1c980342c9d260d59075bc33dc
(1)介绍代码实现的功能:这是一个基于 Python 开发的控制台多功能计算器程序,具备基础运算、高级数学运算、输入校验、异常处理、循环运行等完整功能,操作简单、运行稳定,满足日常各类数学计算需求。
(2)程序代码含义完整分析:
1.导入数学库
import math(导入 Python 自带的数学工具库,提供对数、次方、平方根、三角函数、阶乘等高级计算功能。)
2. 定义各种计算函数(核心功能)
把每一种计算封装成独立函数,代码结构清晰、方便调用,函数接收数字,返回计算结果。
3.主程序入口 main ()
def main():
print("=" * 50)
print(" 🎯 多功能计算器 V2.0")
print("=" * 50)
4.主循环:
while True:
显示菜单
接收用户选择
判断执行哪种运算
5.菜单选择与分支判断
op = int(input("请输入功能编号:"))

if op == 1:
执行加法
elif op == 2:
执行减法
...
6.异常处理
try:
a = float(input("请输入数字:"))
except:
print("输入错误!")

except ZeroDivisionError:
print("除数不能为0")
try 尝试执行代码
如果出错,except 捕获错误并提示
保证程序不会闪退、不会崩溃,更加健壮。
(3)对比我所写代码,豆包生成代码有如下优点:
1.功能数量:我的8种,豆包的14种
2.程序不会崩溃:你我的代码遇到这些情况直接报错退出:
输入字母 / 文字
除以 0
对数输入负数
根号算负数
阶乘输入小数
豆包的代码:
全部加了异常捕获,遇到错误只会提示 “输入不合法”,程序继续运行,不会崩。
3. 界面更友好、更像真正软件。
4. 代码结构更清晰、更规范。
5. 安全性更高
我用了 eval(),有安全风险。
豆包全部用 float(),安全无风险。

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

  • 问题1:代码托管到码云上无法创建仓库,显示推送失败。
  • 问题1解决方案:排查发现是giteeToken 过期,重新登陆即可正常推送。
  • 问题2:编写代码时,语法报错
  • 问题2解决方案:查看代码后,发现是部分缩进不合理,修改后即可正常运行。

其他(感悟、思考等)

感悟:通过本次编写多功能计算器,我巩固了 Python 函数、循环、判断、异常处理等知识,学会了模块化程序设计。我认识到优秀程序不仅要实现功能,还要稳定、易用、健壮。这次实践提升了我的逻辑思维与编程能力,让我体会到编程的乐趣,也为后续学习打下了坚实基础。

参考资料

posted @ 2026-04-14 18:10  morewan  阅读(3)  评论(0)    收藏  举报