小刚的程序会说话了,可他总觉得少了点什么——它只会「自言自语」,你说什么它都听不见。
同桌说:你的电脑只有嘴巴,没有耳朵!真正好玩的程序,应该会先问你问题,再根据你的回答行动。
小刚不服气:那我给它安一只耳朵!老师笑着递来一个魔法词:input。
神奇的事发生了:程序停下来,屏幕上出现「请输入你的名字:」,小刚敲下名字一按回车,电脑竟然叫出了他的名字!
今天,我们给电脑装耳朵——做出会提问、会互动的程序!
给电脑装上「耳朵」:用 input 让程序停下来听你说话,做出能跟你对话的小程序。
先看这节课教什么、怎么分配 120 分钟,老师心里有底,课堂节奏就不乱。
| 时间 | 环节 | 做什么 / 师生互动要点 |
|---|---|---|
| 0–5 | 候课 · 复习 | 打开第2课计算器,运行一次热热身。 |
| 5–12 | 快问快答 | 变量是什么?7//2 和 7%2 分别多少?6/2 结果是?乘方符号是? |
| 12–20 | 情境导入 | 演双簧:老师当「自言自语」的程序(不问就输出),学生当「会提问」的程序——体会差别,引出 input。 |
| 20–35 | input = 电脑的耳朵 | 讲解 input("提示语") 会停下等输入、回车后继续;现场运行猜数字简单版。 |
| 35–48 | 类型转换 int()/float() | 演示 input 拿到的 42 其实是字符串 "42":"42"+1 报错 → int() 转换后成功。 |
| 48–70 | 示范代码 + 上机 | 敲「猜数字简单版」+「小调查」两个程序并运行;加做个人信息收集并打印总结。 |
| 70–90 | 课堂练习 A/B | 练习 1 多输几个数观察;练习 2 两数求和;快的做练习 3 长方形周长面积。 |
| 90–100 | 挑战与找茬 | 挑战:温度转换器;老师投屏一个「忘了 int()」的报错现场,全班诊断。 |
| 100–110 | 闯关小测 | 口答:input 拿到的是数字还是文字?要运算怎么办?"10"+5 会怎样? |
| 110–120 | 总结 · 作业 · 预告 | 齐读口诀;保存「第3课_猜数字.py」;预告第 4 课:程序会「做选择」。 |
时间轴把 2 小时切成 8 段:复习→导入→讲解→示范→上机→练习→检测→小结,每段都有明确产出。
先用 5 分钟把上节课的记忆叫醒,再用故事和类比把新知识挂到孩子已有的经验上。
问 1:上节课我们把数据装进「盒子」,盒子叫什么?怎么放进去?
→ 变量;用 = 赋值,比如 age = 9。
问 2:想让程序打印两个数的和,除法结果为什么常带 .0?
→ 除法 / 的结果默认是浮点数。
问 3:字符串拼接时数字要先变成什么才能拼?
→ 先 str() 转成文字再拼。
小刚的程序会说话了,可他总觉得少了点什么——它只会「自言自语」,你说什么它都听不见。
同桌说:你的电脑只有嘴巴,没有耳朵!真正好玩的程序,应该会先问你问题,再根据你的回答行动。
小刚不服气:那我给它安一只耳朵!老师笑着递来一个魔法词:input。
神奇的事发生了:程序停下来,屏幕上出现「请输入你的名字:」,小刚敲下名字一按回车,电脑竟然叫出了他的名字!
今天,我们给电脑装耳朵——做出会提问、会互动的程序!
程序跑到 input 会停下来等你说话,你按回车它才继续往下走。
输入函数input 拿到的数字其实是「文字版数字」,int() 把它翻译成真数字才能做算术。
类型转换input("你叫什么?") 括号里的字会先显示在屏幕上,告诉用户该输入什么。
提示信息原料(输入)→ 加工(处理)→ 产品(输出)。input 进、print 出。
程序流程分小块讲透语法点,每一块都配生活类比 + 要点小结,讲完立刻口头小试。
input() 函数可以让程序停下来,等用户从键盘输入内容,按回车后继续运行。
括号里可以写提示语,比如 input("请输入你的名字:"),程序会先把这句话显示在屏幕上。
重要:光标在闪、程序不动,不是死机,是在等你输入!输入完一定要按回车。
用户输入的内容会作为返回值交给你,通常要存进变量:name = input("名字:")。
input() 得到的永远是文字(字符串),即使用户输入的是数字。如果要做数学运算,必须先转换。
int() 转成整数:int("42") = 42;float() 转成小数:float("3.14") = 3.14。
最常用的一条:age = int(input("请输入年龄:"))——一边听一边转,一步到位。
如果输入的不是数字(比如 "abc"),int() 会报错 ValueError。这是正常现象,程序「有脾气」是因为它转不了。
"10" 和 10 不一样!"10" 是文字,10 是数字。
"10" + "5" 得到 "105"(文字拼接);而 10 + 5 得到 15(数学加法)。
同理,"3" * 3 会得到 "333"(文字重复 3 遍),而 3 * 3 = 9。
所以做运算前一定要先确认类型对不对:是文字还是数字?需要转换吗?
学了 print 和 input,一个完整程序的基本骨架就齐了。
标准流程:input 收原料(输入)→ 变量和运算加工(处理)→ print 交成品(输出)。
比如猜数字:input 收下你的猜测 → 和答案 42 比一比 → print 告诉你对不对。
今天先学「比一比对不对」(第 4 课正式学 if),明天程序就能自己拿主意了。
老师先带读代码、讲注释,再让学生亲手敲一遍——敲错正好学习调试。
# 第3课:猜数字游戏(简单版)
# 功能:程序设定一个数字,用户猜一次,判断对不对
answer = 42 # 设定正确答案
guess = int(input("请猜一个1到100之间的数字:")) # 边听边转成整数
print("你猜的数字是:" + str(guess)) # 复述一遍用户猜的数
if guess == answer: # 猜对了?
print("恭喜你,猜对了!")
else:
print("很遗憾,猜错了。正确答案是" + str(answer))请猜一个1到100之间的数字:50
你猜的数字是:50
很遗憾,猜错了。正确答案是42🤔 想一想:如果去掉 int(),直接 guess = input(...),再和 42 比较会发生什么?
# 拓展:简单的个人信息收集
print("--- 来做个小调查 ---")
name = input("你叫什么名字?") # 收文字
age = int(input("你今年几岁?")) # 收数字(转整数)
hobby = input("你的爱好是什么?")
print()
print("你好," + name + "!")
print("你今年" + str(age) + "岁,明年你就" + str(age + 1) + "岁啦!")
print("原来你喜欢" + hobby + ",真有趣!")--- 来做个小调查 ---
你叫什么名字:小刚
你今年几岁:9
你的爱好是什么:编程
你好,小刚!
你今年9岁,明年你就10岁啦!
原来你喜欢编程,真有趣!🤔 想一想:age 为什么一定要 int()?如果不转,age + 1 会输出什么?
# 让用户输入两个数字,输出它们的和
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
he = a + b
print(str(a) + " + " + str(b) + " = " + str(he))请输入第一个数:36
请输入第二个数:47
36 + 47 = 83🤔 想一想:如果用户输入 3.5,用 int() 会报错还是成功?换 float() 呢?
# 输入长方形的长和宽,计算周长和面积
length = float(input("请输入长方形的长(厘米):"))
width = float(input("请输入长方形的宽(厘米):"))
perimeter = 2 * (length + width) # 周长
area = length * width # 面积
print("周长 = " + str(perimeter) + " 厘米")
print("面积 = " + str(area) + " 平方厘米")请输入长方形的长(厘米):8
请输入长方形的宽(厘米):5
周长 = 26.0 厘米
面积 = 40.0 平方厘米🤔 想一想:这里为什么用 float() 而不是 int()?如果长是 8.5 厘米,int() 会怎样?
把最容易翻车的写法先亮出来,见一次、错一次、就会了。
age = input("几岁?")
print(age + 1)age = int(input("几岁?"))
print(age + 1)input(请输入你的名字)input("请输入你的名字:")height = int(input("身高:"))
# 输入 1.4 会报错height = float(input("身高:"))基础题人人过关,进阶题鼓励尝试,挑战题给学有余力的孩子。参考答案给老师做巡视对照。
收尾前 10 分钟,用口答 / 举手抢答把今天的关键点过一遍。
input() 的作用是什么?
💡 input = 电脑的耳朵。
input("几岁:") 里,括号中的文字有什么用?
💡 提示语写在括号里。
用 input 输入 42 后,这个 42 是数字还是文字?
💡 input 返回的永远是字符串。
"10" + "5" 等于多少?10 + 5 呢?
💡 文字加文字是拼接,数字加数字才是加法。
想让程序算 age + 1,输入年龄后必须做什么?
💡 运算前先类型转换。
用一句话带走今天的内容;作业分层布置,作品记得保存进成长档案。