第 10 章课后练习与答案
先复制 examples 目录中的文件,再在副本中修改。每次运行都保留输入、输出和完整报错。

🌈 关于《AI 零基础 36 讲》课后训练
📚 与正式讲解配套学习
本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI
使用逐步进入编程、模型训练和大模型应用开发。
✍️ 先独立作答,再核对答案
训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。
💻 代码题请亲手运行
观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。
第一部分 判断值的类型
阅读下面的代码,不运行时先写出每个变量的类型,再用 type 检查。
python
topic = "机器学习"
study_days = 14
hours = 10.5
finished = False
回答字符串 "14" 和整数 14 有什么区别。
第二部分 计算学习时间
计算连续 12 天、每天 35 分钟的总学习时间。分别写出总分钟数、小数小时数、整小时数和剩余分钟数。
要求使用 *、/、// 与 %。
第三部分 补完练习框架
打开 practice_starter.py,完成五处 TODO。
输入 7 天、每天 45 分钟时,输出中应出现 315 分钟和 5 小时 15 分钟。
第四部分 修改文本卡片
复制 text_formatter.py,增加课程名称输入。最终单行格式如下。
text
[AI] Python 入门 | 课程 AI 零基础 36 讲 | 作者 小林
保留 strip 与 upper,再用 len 输出课程名称的字符数。
第五部分 修复类型错误
下面的程序会产生 TypeError。
python
days = 7
print("学习天数 " + days)
分别使用 f-string 和 str 转换给出两种修复方式,并运行确认。
第六部分 选择正确的数字转换
下面三项输入分别适合 int 还是 float。
- 课程数量
"8" - 学习小时
"12.5" - 完成比例
"0.75"
写出转换代码并打印 type。
第七部分 找出变量名错误
运行下面的程序,记录异常类型和行号,再修复它。
python
minutes_per_day = 40
study_days = 5
total_minutes = minute_per_day * study_days
print(total_minutes)
参考答案
第一部分答案
topic 是 str,study_days 是 int,hours 是 float,finished 是 bool。字符串 "14" 保存两个字符,整数 14 可以直接参加数字运算。
第二部分答案
参考代码如下。
python
study_days = 12
minutes_per_day = 35
total_minutes = study_days * minutes_per_day
print(total_minutes)
print(total_minutes / 60)
print(total_minutes // 60)
print(total_minutes % 60)
输出依次为 420、7.0、7 和 0。
第三部分答案
读取天数与分钟数时使用 int。总分钟数等于 study_days 乘以 minutes_per_day,随后用整除和取余完成换算。完整程序可以和 study_time_calculator.py 对照,变量名可以不同,计算结果必须一致。
第四部分答案
新增 course = input(...).strip(),随后把 course 放进 f-string。len(course) 会返回清理后课程名称的字符数。
第五部分答案
f-string 写法如下。
python
days = 7
print(f"学习天数 {days}")
显式转换写法如下。
python
days = 7
print("学习天数 " + str(days))
两种写法都输出 学习天数 7。
第六部分答案
课程数量适合 int,学习小时与完成比例适合 float。
python
course_count = int("8")
study_hours = float("12.5")
completion_rate = float("0.75")
print(type(course_count))
print(type(study_hours))
print(type(completion_rate))
第七部分答案
异常类型是 NameError。代码定义了 minutes_per_day,计算时却写成 minute_per_day。修复后 total_minutes 等于 200。
自我检查
- 我能解释变量、值与类型的关系
- 我能区分 int、float、str 和 bool
- 我会使用常见数字运算符
- 我能清理和格式化字符串
- 我知道 input 返回字符串
- 我会选择 int 或 float 转换输入
- 我能根据异常类型寻找变量名或类型问题
七项都能完成后,可以进入第 11 章。