当前位置: 首页 > news >正文

实验二《Python程序设计》20251223 胥安

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

  1. 实验内容
    使用 Python 编写一个完整计算器程序,实现加、减、乘、除、取模、平方、开方运算,要求包含循环、判断、异常处理等基础语法。
    使用 LLM(大语言模型)生成计算器程序,分析代码功能与含义。
    对比自写程序与生成程序的优缺点。
    将代码调试运行并托管到码云。
  2. 实验过程及结果
    设计计算器功能:加减乘除、取模、平方、开方、连续计算、错误处理、退出功能。
    使用 while 循环实现程序持续运行。
    使用 if-elif 实现运算符判断。
    使用 try-except 处理输入错误、除 0 错误、负数开方错误。
    完成代码编写、调试、运行,所有功能正常。
    使用 AI 生成极简版计算器,对比分析两者差异。
    将代码上传至码云仓库。
    一、我自己手写的 Python 计算器
    支持:加减乘除、取模、平方、开方、连续计算、错误处理、循环运行
    image
    image
    image
    运行结果测试
    image
    image
    image

二、LLM(AI)生成的计算器程序 + 代码解析
LLM 生成代码

LLM 生成版计算器(输入的要求:简单又复杂,有高级感,便于使用)

def ai_calculator():
print("简易计算器")
while True:
try:
expression = input("请输入表达式(如 2+3, 输入 q 退出):")
if expression.lower() == 'q':
break
result = eval(expression)
print(f"结果:{result}\n")
except Exception as e:
print(f"错误:{e}\n")

if name == "main":
ai_calculator()
运行结果测试:
image
image
image
三、手写程序 vs LLM 生成程序 对比分析

  1. 优点
    手写的程序
    ✅ 逻辑清晰,适合学习基础语法
    ✅ 可自由扩展功能(开方、平方、取模)
    ✅ 安全,无代码注入风险
    ✅ 错误提示友好
    LLM 生成程序
    ✅ 代码量极少
    ✅ 开发速度极快
    ✅ 支持任意数学表达式
  2. 缺点
    手写程序
    ❌ 代码较长
    ❌ 要写大量判断语句
    LLM 生成程序
    ❌ 不安全
    ❌ 无法自定义复杂逻辑
    ❌ 不适合学习语法基础
  3. 实验过程中遇到的问题和解决过程
    问题 1:输入非数字时程序崩溃
    问题 1 解决方案:使用 try-except 捕获 ValueError,给出友好提示
    问题 2:除数为 0 时报错
    问题 2 解决方案:增加判断 if num2 == 0,提示不能除 0
    问题 3:负数开方无意义
    问题 3 解决方案:判断数字是否大于等于 0,否则提示错误
    问题 4:无法连续计算
    问题 4 解决方案:使用 while True 循环,直到输入 quit 退出
  4. 感悟、思考
    通过本次实验掌握了 Python 基本语法、判断语句、循环语句、异常处理。
    手写代码能更好理解程序运行逻辑,适合学习使用。
    AI 生成代码虽然快速,但安全性差、逻辑不可控,不适合学习阶段。
    异常处理非常重要,能让程序更健壮、友好。
    今后编写程序要注重逻辑清晰、注释完整、错误处理完整。
http://www.jsqmd.com/news/640044/

相关文章:

  • 抖音批量下载终极指南:5分钟掌握无水印视频下载完整方案
  • 5分钟掌握Harepacker-resurrected:解锁MapleStory游戏资源编辑的完整方案
  • Obsidian PDF导出终极指南:Better Export PDF插件快速上手教程
  • APKMirror客户端:安全获取Android应用的三步实践方案
  • D3KeyHelper完全指南:暗黑3玩家的终极自动化助手
  • 2026测量传声器技术推荐:选型、校准与工业应用指南 - 速递信息
  • Qwen3-ASR-1.7B应用场景:会议录音转文字、视频字幕生成实战
  • 半监督医学分割的‘边界难题’有解了?手把手解读哈工大TMI 2025论文BoCLIS
  • Cursor AI编程助手破解工具:三步实现免费无限使用的终极指南
  • ACSL-6310-06TE,多通道双向15MBd高速数字逻辑门光耦合器
  • Zynq7000双核高效协作:共享内存管理与核间同步实战指南
  • PCL与Eigen版本冲突引发的内存析构陷阱
  • 如何为Unity游戏安装和使用MelonLoader:通用模组加载器完整指南
  • 上海市抖音公会营业性演出许可证入驻代办公司靠谱推荐哪家好 - 速递信息
  • 保姆级教程:从Cadence Innovus到Virtuoso的GDS完整导出与查看流程(避坑版)
  • 八大网盘直链解析神器:让文件下载告别等待的智能助手
  • Phi-4-Reasoning-Vision镜像免配置:双卡4090上1分钟完成15B模型加载实测
  • 微信小程序开发实战:基于和风天气API的精准天气预报(含自动定位与源码解析)
  • 如何用LaTeX高效排版Computational Linguistics投稿论文?最新模板与避坑指南
  • 终极指南:3步掌握Unlock-Music音乐解锁工具
  • 保姆级教程:手把手拆解RDMA网卡如何实现‘零拷贝’与‘内核旁路’
  • CANdela Studio 实战:从诊断调查表到CDD数据库的精准配置指南
  • 若依框架前后端不分离版代码生成实战:从建表到菜单配置全流程
  • 英雄联盟Akari助手终极指南:3分钟打造你的专属游戏智能管家
  • 保姆级教程:用USB-CAN分析仪抓包调试,从安装到收发报文避坑指南
  • 北京搬家为什么报价差 3 倍?拆解价格逻辑与避坑指南
  • AI专著撰写不用愁!精选工具助力,2周完成专业学术专著
  • League-Toolkit:基于LCU API的英雄联盟客户端智能优化解决方案
  • 仅限72小时!奇点大会闭门报告流出:多模态内容生成的3大伦理红线与5条合规生成铁律
  • 【2026奇点大会独家解码】:视觉问答系统VQA 3.0的5大颠覆性突破与企业落地时间表