第 3 周,共 8 周
输入与互动
程序开始学会倾听。学生用 input() 向玩家提问、等待回答,并把这个回答用在程序的回应里。到最后,他们会做出一个短小的聊天机器人,能对你输入的内容作出回应。
- 预计时间
- 50-60 分钟
- 项目
- 迷你聊天机器人
核心思路
input() 是程序倾听的方式。它显示一句提示,然后停下来,等玩家输入并按回车。玩家的回答被存进变量,程序就能在接下来的动作里用上它——名字、猜测、选择。记住一点:input() 拿回来的永远是文字。
你将学到什么
- 用 input() 从运行程序的人那里获取答案。
- 把答案存进变量,稍后再使用。
- 解释程序会在 input() 处暂停,直到用户输入内容。
- 修好一行漏了引号的 input()。
新词汇
- input()
- 一个 Python 命令,会提出问题并等待用户输入答案。
- 提示语
- input() 显示出来、告诉用户该输入什么的那句话。
- 用户
- 使用这个程序的人——在游戏里就是玩家。
项目:迷你聊天机器人
编辑下面的初始代码,然后按“运行”看看效果。想回到原始代码,随时点“重置初始代码”。
main.py
终端
运行你的程序来查看输出。
预期输出
我该怎么称呼你? Alex
很高兴认识你,Alex。
你最近在玩什么游戏? 足球
足球?眼光不错。我们很快也会做一个自己的。小挑战
再加一个问题——也许是最喜欢的颜色或动物——并在程序的回应里用上这个答案。
调试挑战
运行这段代码,问题还没显示出来就报错了。input() 里的那句话是给用户看的文字。所有文字两边都需要什么?
有错误的代码
name = input(我该怎么称呼你? )查看答案隐藏答案
提示语是文字,所以需要加引号:
name = input("我该怎么称呼你? ")拓展挑战
先问玩家的名字和最喜欢的游戏,然后打印一句同时用到两者的话,比如:Alex 准备好玩足球了!
回顾思考
上周你的程序总是说同一句话。现在它会回答你了。在游戏一开始,你可以问玩家什么,才能让游戏感觉是为他而做的?
教师笔记
input() 永远返回文字,哪怕用户输入的是数字——这一点在第 5 周比较数字、用到 int() 时会变得很重要。留意提示语两边漏掉的引号。在编程区里,提示语和用户输入都会出现在输出面板里,所以「预期输出」展示的是一段示例对话。
要带这节课吗?请查看 教师与图书馆员指南 ,里面有上课流程、常见错误,以及一个不用电脑的备用活动。
这节课完成了吗?标记为已完成,解锁下一周。