【零基础学AI】第 12 章课后练习与答案
第 12 章练习与答案 关于《AI 零基础 36 讲》课后训练与正式讲解配套学习本篇是《AI 零基础 36 讲》的配套课后训练与对应章节的正式讲解一起使用。整个系列面向初学者从日常 AI使用逐步进入编程、模型训练和大模型应用开发。✍️先独立作答再核对答案训练围绕本章知识安排概念判断、结果分析或动手任务并提供参考答案与解释。建议先读完对应的正式文章再独立作答遇到困难时回看相关例子最后核对答案。代码题请亲手运行观察程序输出确认自己能解释结果、发现错误并完成修复。做完一道题也要弄清答案为什么成立。先自己做函数内部 print(60)但没有 return调用位置会得到什么为什么两次调用 sum_minutes 都要在函数内部先把 total 设为 0data/sample.txt 是相对于脚本位置还是终端当前工作目录解析本章规则会怎样统计 “AI ai don’t 中文 123”helps 和 help 会合并吗给 count_words 的输出加上 top_three使用词频列表前三项。正常文本与空文本都要运行。把输出路径写成输入路径完整程序应该怎样处理文件编码错误时为什么不直接忽略不能解码的字节对照答案第 1 题会得到 None。print 显示内容return 交回结果。第 2 题让每次统计从零开始避免前一次累计值进入下一次计算。第 3 题使用当前工作目录。完整程序允许在命令行传入绝对路径。第 4 题得到 ai 两次、don’t 一次共三个词。helps 与 help 保留为两个不同词。第 5 题可以先不修改原模块另建 examples/top_three.py复制下面的代码。它复用本章模块和教学文件在本章目录运行。frompathlibimportPathfromtext_statsimportcount_wordsdefcount_with_top_three(text):resultcount_words(text)result[top_three]result[frequencies][:3]returnresult textPath(data/sample.txt).read_text(encodingutf-8)print(count_with_top_three(text)[top_three])print(count_with_top_three()[top_three])输出如下。[{word: us, count: 3}, {word: ai, count: 2}, {word: helps, count: 2}] []在原模块内部增加字段也可以只要在返回前把frequencies[:3]放入 top_three并让调用者使用这个返回值。第 6 题在写入前拒绝操作提示输入与输出不能使用同一个文件原文本保持完整。第 7 题忽略错误会丢内容统计值随之改变。应确认原编码正确打开后另存为 UTF-8再重新运行。