Skip to content

结业考核

这是本书过程化考核的最后一环,由两部分组成:综合项目结业测验。全部完成后,你应当能脱离任何 AI 工具独立编写程序,并读懂、验证 AI 生成的代码——这正是本书的两个核心目标。

一、综合项目

从下面三个主题中任选一个,独立完成。也可以自拟同等难度的主题,但必须先按 12.4 的审查清单自评。

主题 A:命令行待办清单

  • 用文件(tasks.txt)保存待办事项,程序退出后数据不丢失。
  • 支持命令:添加、查看、完成(标记)、删除。
  • 交互示例:
    请输入命令(添加/查看/完成/删除/退出): 添加
    内容: 买牛奶
    请输入命令(添加/查看/完成/删除/退出): 查看
    [ ] 买牛奶

主题 B:记账本

  • 用 CSV 文件保存每一笔收支(日期、项目、金额、类型:收入/支出)。
  • 支持:记一笔、查看全部、统计总收入、总支出、结余。
  • 金额非法(负数、非数字)时给出友好提示,不崩溃。

主题 C:猜单词小游戏

  • 内置一个单词表,随机选一个,用户每次猜一个字母,最多猜错 6 次。
  • 显示已猜对的字母位置(如 _ a _ _ o _)和已猜错的字母。
  • random、字符串、列表、循环、字典等完成,程序结束时输出答案。

统一验收标准(全部满足才算通过):

标准说明
可运行按 README 或注释说明可一键运行,无语法错误
有注释关键函数有注释,说明「为什么」
有容错非法输入不会导致程序崩溃
结构清晰用函数(或类)组织代码,没有大段重复
数据持久数据保存在文件中,重启程序不丢失
通过边界测试空数据、极端输入(如 0 元、重复项)下行为正确

二、结业测验

覆盖第 1~12 章知识点,共 15 题,答对 12 题(80%)以上视为通过。

  1. type("123") 的结果是?(第 2 章)
    • A. <class 'int'>
    • B. <class 'str'>
    • C. <class 'float'>
    • D. <class 'bool'>
  2. 7 % 3 的结果是?(第 3 章)
    • A. 2
    • B. 1
    • C. 3
    • D. 0
  3. range(1, 6) 包含哪些数?(第 4 章)
    • A. 1, 2, 3, 4, 5
    • B. 1, 2, 3, 4, 5, 6
    • C. 0, 1, 2, 3, 4
    • D. 2, 3, 4, 5, 6
  4. "hello"[::-1] 的结果是?(第 5 章)
    • A. "olleh"
    • B. "hello"
    • C. "h"
    • D. 报错
  5. {1, 2, 3} | {3, 4} 的结果是?(第 6 章)
    • A. {1, 2, 3, 4}
    • B. {3}
    • C. {1, 2, 4}
    • D. 报错
  6. 函数没有 return 时返回?(第 7 章)
    • A. 0
    • B. None
    • C. False
    • D. 报错
  7. random.randint(1, 6) 不可能返回?(第 8 章)
    • A. 1
    • B. 6
    • C. 0
    • D. 3
  8. csv.reader 读出的数字列是什么类型?(第 9 章)
    • A. int
    • B. str
    • C. float
    • D. bool
  9. int("abc") 会抛出?(第 10 章)
    • A. TypeError
    • B. ValueError
    • C. NameError
    • D. KeyError
  10. __init__ 方法的作用是?(第 11 章) A. 删除对象 B. 创建对象时初始化属性 C. 输出对象 D. 定义类
  11. 子类 __init__ 中调用父类初始化方法的写法是?(第 11 章) A. parent.__init__() B. super().__init__() C. self.__init__() D. class.__init__()
  12. print(1, 2, 3, sep="-") 的输出是?(第 1 章) A. 1-2-3 B. 1 2 3 C. 123 D. 报错
  13. 下面代码运行后会输出什么?(第 10 章)
    python
    try:
        print(10 / 0)
    except ZeroDivisionError:
        print("除数不能为 0")
    finally:
        print("结束")
    A. 除数不能为 0 B. 结束 C. 先「除数不能为 0」后「结束」 D. 报错
  14. 数据 {"main": {"temp": 25.5}},取出温度的正确写法是?(第 8 章) A. data["temp"] B. data["main"]["temp"] C. data.main.temp D. data[0]["temp"]
  15. 阅读 AI 生成的代码,正确的态度是?(第 12 章) A. 直接使用并信任 B. 理解并验证后再使用 C. 一律不用 D. 只改不读

三、结业评审

  • 综合项目:对照验收标准逐条自评;如果可能,请另一位同学或老师运行你的程序。
  • 结业测验:15 题答对 12 题以上。
  • 两项都通过,即完成本书全部学习目标。

结业后的下一步

本书覆盖的是 Python 语言核心。之后可以按兴趣深入:

  • 数据分析:pandasmatplotlib(第 8 章学过的 csv / json 是它的基础)
  • Web 开发:FlaskFastAPI
  • 自动化脚本:ospathlibsubprocess
  • AI 应用:调用大模型 API,把本书的数据处理能力组合成真实工具

无论选哪个方向,记住本书的两条原则:独立写出能跑的代码,读懂并验证别人(包括 AI)写的代码。