只做第一步也可以
用 uv init 创建独立项目并把数据文件放入 data/
保留真实输出或卡点,带到课堂;不要求一次完成全部。W04 · FOUNDATIONS
不追求背语法大全;用一个可运行的小程序建立对象、类型、控制流、函数、模块和异常处理的共同语言。
先完成最小动作。哪怕没有成功复现,也请保留报错、截图和尝试过程;课堂可以展示卡点、旁听提问,并继续获得积分。
用 uv init 创建独立项目并把数据文件放入 data/
保留真实输出或卡点,带到课堂;不要求一次完成全部。只用 Python 标准库读取合成现金流 CSV,按项目计算净现值,处理坏数据,并把逻辑封装成函数。
成功复现可获得「复现 +1」,并具备展示资格。用 argparse 增加 --rate 参数
有拓展 +1,多拓展 +2;不影响零基础起步。from __future__ import annotations
def npv(cashflows: list[float], rate: float) -> float:
"""Return net present value; rate must be greater than -1."""
if rate <= -1:
raise ValueError("rate must be greater than -1")
return sum(cf / (1 + rate) ** t for t, cf in enumerate(cashflows))
# TODO: 读取 CSV → 按项目分组 → 调用 npv → 写出排名
print(npv([-100, 40, 45, 50], 0.08))我是金融学院硕士生,计算机零基础。我正在学习《金融编程与计算》W04,本周目标是:实验 02 · 现金流 NPV 命令行程序。 请把我当作第一次接触这些工具的人,并遵守: 1. 一次只给我一个步骤,不要一次倾倒完整答案。 2. 每一步先用日常语言解释目的,再给可复制的命令或代码。 3. 告诉我正常情况下应该看到什么,以及最常见的一个错误。 4. 如果不知道我的操作系统、目录或安装状态,先问我,不要假设。 5. 等我贴回真实输出或报错后,再判断下一步。 现在只带我完成第一步:用 uv init 创建独立项目并把数据文件放入 data/
这些问题不是课前考试。遇到不懂就问 AI;最后只需能结合自己的操作,说清其中一部分。
变量名、对象和值是同一件事吗?
为什么 0.1 + 0.2 可能不严格等于 0.3?
函数「能跑」之外,还应说明什么契约?
空字符串、0、None 在条件判断中有什么差别?
面对 20 行 traceback,应该从哪里开始读?
只需在实验报告中诚实标注:哪些步骤来自 AI 建议,哪些已经本人验证,哪些仍未验证。学习过程写好,报告就自然产生。
上课提前 5 分钟点名,下课前 5 分钟再次点名。
用本人笔记本打开实验报告,展示真实操作、结果或卡点。
作者现场运行;同学也可仅凭该文档复现,作者与复现者都加分。
教师判断掌握程度;旁听同学可提出被采纳的好问题。
上课提前 5 分钟点名,下课前 5 分钟再点名
使用 AI 自学,按照教学大纲完成了每周实验任务
按照教学大纲完成一项或多项拓展任务
主动共享屏幕展示复现过程,接受核验与拷问
每节课堂最先自愿开讲的前 3 人
认真旁听并提出被采纳的好问题
面对面随机拷问 · 反空心化闸门
仅凭文档课堂现场复现
本周最佳文档
没有完成全部实验,也可以凭考勤、展示卡点、认真提问和真实回答获得积分;做得越扎实,展示、拓展、拷问、双分和精选带来的激励越多。飞书应用展示过去 30 天积分榜与总积分榜。