【零基础学AI】第 10 章课后练习与答案

第 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。

  1. 课程数量 "8"
  2. 学习小时 "12.5"
  3. 完成比例 "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 章。

相关推荐
晨间晓1 小时前
一张图片主要是什么颜色?用 OpenCV 做图片主色提取工具
人工智能·opencv·计算机视觉
xsd202411181 小时前
把整套 AI 工作台装进 U 盘:开箱即用的本地短视频生产方案
人工智能
智能相对论1 小时前
STEPX Neo:AI终端的“初代iPhone时刻”
人工智能·ios·iphone
xier_ran1 小时前
【infra之路】AI 编译器学习笔记(七):Linalg 与 Tiling——把迭代空间切成块
人工智能·笔记·学习
高洁011 小时前
世界模型环境预测与内在表征基础原理
人工智能·深度学习·机器学习·transformer·tornado
沪上企服通1 小时前
税制变更前的影子账套回归:代账 pipeline 怎么在规则上线前先跑一遍
人工智能·数据挖掘·回归
赶路人儿1 小时前
简述LLM 中的GCG 攻击
人工智能
m0_587383001 小时前
碰碰好评卡功能落地实战 从需求梳理到上线部署全流程实操指南
java·linux·服务器·前端·javascript·vue.js·人工智能
半吊子全栈工匠1 小时前
构建企业级 Agentic AI的语义层
人工智能·语义层·本体驱动的ai大模型