[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题

简介: 本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。

ai编程最佳实践_ai辅助编程_提出要求_解决问题

回忆上次内容

  • 上次输出了
  • 随机数字 密码

  • 这下知道
  • 平时收到的验证码
  • 怎么来的了

  • 计算机中 没有所谓的 真·随机
  • 一般都是 依靠时间为变量 得到的 随机
  • AI 能如何 辅助我们编程呢?

猫屎咖啡

  • 有这么一个场景
  • 在Java岛上
  • 麝香猫 吃了 咖啡豆

  • 咖啡果肉 麝香猫 能消化
  • 咖啡果核 消化不了
  • 完整排出

购买

  • 刚排出的 水分多
  • 经过清洗(会降低风味)
  • 晾晒 或 烘干
  • 去壳 烘焙
  • 得到  Kopi(咖啡) Luwak(猫)
  • 30,0000 印尼盾 / 公斤

  • 我要 做个程序
  • 把购买的 斤数
  • 换算成 人民币金额
  • 怎么 问ai?

无用信息

  • 红色的 部分
  • 是 无关描述
  • 对 编程这个事 没用
  • 可以 删除

  • 信息 分两种
  • 第一种 对 编程目标 有用
  • 第二种 对 编程目标 没用
  • 我们 首先 需要 明白
  • 哪些 能落实到 代码上
  • 哪些 没有意义

简化之后

  • 精简了 提示词

  • 输入的部分
  • 没有进行异常处理
  • 这需要 我们大脑中 先有概念
  • 之前学的 try-except-else-finally 结构
  • 制作相关 容错处理
  • 增强 代码健壮性

结果

  • 直接提要求

  • try 的 第一句
  • 对应 ValueError 就得了
  • 目前是 一try到底
  • 这需要 我们了解 try语句的作用
  • 能够 理解 和 安排
  • 代码的 先后次序

尝试失败

  • 嘴上对我进行夸奖

  • try的作用域 没有改变
  • 还是 一try到底
  • 把程序 分成两步
  1. 录入购买斤数
  2. 根据斤数得到人民币金额

斤数

  • 先完成 第1步
  • 录入 斤数

  • 目前代码 可行
  • 需要 我们来做判定
  • 确认保留 当前的代码
  • 先跟ai 肯定 目前的状态
  • 刚做的这个 很好
  • ValueError 能 重新输入 了

继续增加功能

  • 在此基础上 追加一句
  • 负数和零 要 重新输入

  • 第一部分 录入功能 完成
  • 准备 第2步 转化工作
  • 从 猫屎斤数
  • 到 公斤数
  • 再到 印尼盾
  • 最后到 人民币

继续提要求

  • 还是 先巩固战果
  • 目前 已经成型的 部分
  • 在此基础之上
  • 添加新的代码

# 定义印尼盾对人民币的汇率,这里只是示例,需按实际调整
exchange_rate = 0.00045
while True:
    try:
        weight = float(input("请输入猫屎咖啡的购买斤数: "))
        if weight <= 0:
            print("输入的斤数不能为负数或 0,请重新输入。")
        else:
            print(f"你输入的购买斤数是: {weight} 斤")
            break
    except ValueError:
        print("输入的不是有效的数字,请重新输入。")
# 将斤数转换为公斤数,1公斤 = 2斤
weight_kg = weight / 2
# 计算对应的印尼盾价格,每公斤30万印尼盾
price_idr = weight_kg * 300000
# 计算对应的人民币价格
price_cny = price_idr * exchange_rate
print(f"购买{weight}斤猫屎咖啡,共{weight_kg}公斤,需要{price_idr}印尼盾,折合人民币约为{price_cny}元。")

运行结果

  • 常规情况 问题不大

  • 需要在最终部分
  • 保留两位小数

继续提要求

  • 还是要 先巩固已有成果

# 定义印尼盾对人民币的汇率,这里只是示例,需按实际调整
exchange_rate = 0.00045
while True:
    try:
        weight = float(input("请输入猫屎咖啡的购买斤数: "))
        if weight <= 0:
            print("输入的斤数不能为负数或 0,请重新输入。")
        else:
            print(f"你输入的购买斤数是: {weight} 斤")
            break
    except ValueError:
        print("输入的不是有效的数字,请重新输入。")
# 将斤数转换为公斤数,1公斤 = 2斤
weight_kg = weight / 2
# 计算对应的印尼盾价格,每公斤30万印尼盾
price_idr = weight_kg * 300000
# 计算对应的人民币价格
price_cny = price_idr * exchange_rate
# 使用字符串格式化保留两位小数
print(f"购买{weight}斤猫屎咖啡,共{weight_kg}公斤,需要{price_idr:.2f}印尼盾,折合人民币约为{price_cny:.2f}元。")
  • 不是 四舍五入
  • 而是 向上取整 保留两位小数

最终代码

  • 最终代码 已经完全
  • 符合 目标要求

稳步推进

  • 这次使用ai 有3个结论
  1. 和程序逻辑无关的 没必要说
  2. 复杂的流程
  • 不期待一次成功
  • 一次说不清
  • 可以 拆解成 若干步骤
  • 单一步骤 用简单 话语描述清楚
  • 对自己、对ai都好
  1. 对于已经完成的代码
  • 能够确认 他可行👍
  • 并且 巩固战果
  • 再 向下 继续编码
  • 小步快跑 快速迭代

  • ai时代的编程
  • 需要先整理好 自己的需求
  • 再将需求 合理拆分成 可以看到战果的 小目标
  • 然后 逐步巩固战果
  • 并 向前推进
  • 在此过程中
  • 人和ai 是 如何分工的呢?

总结

  • 人 需要
  • 明确 目标
  • 拆分 步骤
  • 确认 结果
  • 向前 推进
  • ai 负责
  • 落实 代码
  • 解释 含义
  • 提供 建议

  • ai时代
  • 编程 不会 被终结
  • 一切 都会变成 编程
相关文章
|
4月前
|
存储 人工智能 JSON
揭秘 Claude Code:AI 编程入门、原理和实现,以及免费替代 iFlow CLI
本文面向对 AI Coding 感兴趣的朋友介绍 Claude Code。通过此次分享,可以让没有体验过的快速体验,体验过的稍微理解其原理,以便后续更好地使用。
2023 18
揭秘 Claude Code:AI 编程入门、原理和实现,以及免费替代 iFlow CLI
|
4月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
351 3
|
4月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
583 3
|
4月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
387 3
|
4月前
|
人工智能 JSON 安全
Claude Code插件系统:重塑AI辅助编程的工作流
Anthropic为Claude Code推出插件系统与市场,支持斜杠命令、子代理、MCP服务器等功能模块,实现工作流自动化与团队协作标准化。开发者可封装常用工具或知识为插件,一键共享复用,构建个性化AI编程环境,推动AI助手从工具迈向生态化平台。
855 1
|
4月前
|
机器学习/深度学习 人工智能 JSON
AI编程时代,对应的软件需求文档(SRS、SRD、PRD)要怎么写
对于AI编程来说,需要使用全新的面向提示词的需求文档来和AI+人类沟通,构建共同的单一事实来源文档知识库是重中之重。
651 7
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
python编写AI生常用匡架及使用指令集
本文介绍Python中常用AI框架,包括TensorFlow、PyTorch、Scikit-learn、Hugging Face、spaCy、OpenCV及XGBoost等,涵盖安装指令与基础代码示例,适用于机器学习、深度学习、自然语言处理与计算机视觉等领域,助力快速入门与应用开发。(238字)
456 7
|
4月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
454 0
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【8月更文挑战第3天】踏入人工智能领域,神经网络是开启智慧之门的钥匙。它不仅是一种技术,更是模仿人脑学习与推理的思维方式。从理解神经元间的连接到构建神经网络的基本概念,再到使用Python与TensorFlow搭建手写数字识别模型,每一步都揭示着机器学习的奥秘。随着深入学习,我们将探索更高级的主题,比如深度神经网络、卷积神经网络和循环神经网络,以及如何优化模型性能。掌握背后的数学原理,将帮助我们设计更高效准确的模型。在这个旅程中,Python将是我们的得力助手,引领我们探索AI世界的无限可能。
215 2

推荐镜像

更多