Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0081
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在:
- 个人网站: `https://oeasy.org`
- 蓝桥云课: `https://www.lanqiao.cn/courses/3584`
- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
- Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 配套视频
- 上次输出了
- 随机数字 密码
- 这下知道
- 平时收到的
验证码 - 怎么来的了
- 平时收到的
- 计算机中 没有所谓的 真·随机
- 一般都是 依靠时间为变量 得到的 随机
- AI 能
如何辅助我们编程呢?
- 有这么一个场景
- 在Java岛上
- 麝香猫 吃了 咖啡豆
- 咖啡果肉 麝香猫 能消化
- 咖啡果核 消化不了
- 完整排出
- 刚排出的 水分多
- 经过清洗(会降低风味)
- 晾晒 或 烘干
- 去壳 烘焙
- 得到 Kopi(咖啡) Luwak(猫)
- 30,0000 印尼盾 / 公斤
- 我要 做个程序
- 把购买的 斤数
- 换算成 人民币金额
- 怎么 问ai?
- 红色的 部分
- 是 无关描述
- 对 编程这个事 没用
- 可以 删除
- 信息 分两种
- 第一种 对 编程目标 有用
- 第二种 对 编程目标 没用
- 我们 首先 需要 明白
- 哪些 能落实到 代码上
- 哪些 没有意义
- 精简了 提示词
- 输入的部分
- 没有进行异常处理
- 这需要 我们大脑中 先有概念
- 之前学的 try-except-else-finally 结构
- 制作相关 容错处理
- 增强 代码健壮性
- 直接提要求
-
try 的 第一句
- 对应 ValueError 就得了
- 目前是 一try到底
-
这需要 我们了解 try语句的作用
- 能够 理解 和 安排
- 代码的 先后次序
- 嘴上对我进行夸奖
- try的作用域 没有改变
- 还是 一try到底
- 把程序 分成两步
- 录入购买斤数
- 根据斤数得到人民币金额
- 先完成 第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个结论
- 和程序逻辑无关的 没必要说
- 复杂的流程
- 不期待一次成功
- 一次说不清
- 可以 拆解成 若干步骤
- 单一步骤 用简单 话语描述清楚
- 对自己、对ai都好
- 对于已经完成的代码
- 能够确认 他可行👍
- 并且 巩固战果
- 再 向下 继续编码
- 小步快跑 快速迭代
-
ai时代的编程
- 需要先整理好 自己的需求
- 再将需求 合理拆分成 可以看到战果的 小目标
- 然后 逐步巩固战果
- 并 向前推进
-
在此过程中
- 人和ai 是 如何分工的呢?
- 人 需要
- 明确 目标
- 拆分 步骤
- 确认 结果
- 向前 推进
- ai 负责
- 落实 代码
- 解释 含义
- 提供 建议
- ai时代
- 编程 不会 被终结
- 一切 都会变成 编程
- 总结一下本章内容吧~ 👋
- 配套视频
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。
















