20252217贾子墨 实验二 《Python程序设计》实验报告

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

课程:《Python程序设计》
班级:2522
姓名:贾子墨
学号:20252217
实验教师:王志强
实验日期:2026年4月13日
必修/选修:公选课


1. 实验内容

(一)实验内容

  1. 编写计算器程序
    设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
    考核基本语法、判定语句、循环语句、逻辑运算等知识点。

  2. 用LLM生成一个计算器程序
    介绍相关功能,并分析生成的程序代码含义。
    对比分析自写程序与生成程序的区别(好与坏)。


2. 实验过程及结果

(1)编写计算器

在课上,我首先跟着老师编写了计算器的大概框架,接着自己修改了一些细节,并增加了给一个数字开方的功能。
所有计算的功能均是用自定义函数实现,并运用了 math 函数来计算对数、开方、次方,输出使用格式化字符。

本计算器可实现的功能

  • 加减乘除、取余、求对数、求次方、开方
  • 加减乘除、取余、求对数、求次方:需输入两个数字
  • 开方:只需输入一个数字
  • 通过 eval 格式,输入的数字可以是整数、小数、复数

一次计算完成后,用户可选择是否继续使用计算器,该功能通过循环实现。

代码运行结果:

  • 加法:image
  • 减法:image
  • 乘法:image
  • 除法:image
  • 取余:image
  • 求对数: image
  • 求次方: image
  • 开方:image

(2)用LLM生成一个计算器程序

以下为输入提示词“帮我生成一个炫酷并且不用下载其他插件的计算器python程序”
deepseek生成的代码运行截图:
image
image

功能介绍:

  • 基础运算:加 +、减 -、乘 *、除 /
  • 平方、开方、圆周率、三角函数
  • 有生成随机数、显示具体日期时间等拓展功能
  • 连续计算、退出

优缺点对比

1. LLM生成代码

优点

  • 可直接输入数学式子,支持复杂混合运算,不用分步
  • 扩展新功能非常容易
  • 有清晰说明、示例
  • 输入错误不崩溃

缺点

  • 错误提示不够友好,所有异常只显示是输入存在错误,不知道是语法错、除零错还是格式错

2. 自写代码

优点

  • 逻辑简单,每个运算一个函数和 if-elif 匹配
  • 输入流程可控:先选符号再输入数字
  • 不会出现表达式语法错误

缺点

  • 不能直接输入 1+2*3,必须分步算,比较麻烦
  • 不支持混合运算
  • 代码重复多,每个运算符都要写重复逻辑
  • 加一个新功能要改很多地方

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

问题1:对格式化字符不够熟悉,容易少打括号

解决方案
熟能生巧,先理解格式化字符,自己再多打了几行代码之后,既充分了解了格式化字符的定义,也进一步学会了如何使用它。

问题2:部分计算功能不能完全实现

如在写开方的功能时,因为开方一次只能计算一个数字,所以涉及用户要输入一个数字还是两个数字,开始时逻辑不够清晰,导致代码运行有误。

解决方案
思考逻辑之后,改变了提示用户输入数字语句的位置,代码即可正常运行。


其他(感悟、思考)

自己动手编写这段计算器代码,让我体会到从零到实现功能的成就感,也掌握了函数定义、格式化字符等基础编程知识。
虽然代码较为繁琐,逻辑比较简单,但这是我独立思考完成的成果,也感受到了冗余代码带来的不便。

通过和deep seek生成的代码对比,我也懂得了好的代码不仅要能实现功能,更要简洁高效、易于完善。


参考资料

posted @ 2026-04-16 00:03  paradissse  阅读(18)  评论(0)    收藏  举报