跳到主要内容

第 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() 时会变得很重要。留意提示语两边漏掉的引号。在编程区里,提示语和用户输入都会出现在输出面板里,所以「预期输出」展示的是一段示例对话。

要带这节课吗?请查看 教师与图书馆员指南 ,里面有上课流程、常见错误,以及一个不用电脑的备用活动。

这节课完成了吗?标记为已完成,解锁下一周。