第 2 课 · 会计算的计算器

加减乘除计算器

给数据起个名字(变量),再让电脑做加减乘除——亲手造一个计算器!

120 分钟完整闭环 4 个知识点 4 段示范代码 难度 ★
🏠 学期课件主页 ← 上一课:编程初体验下一课:输入与互动 →
01

本课导览

先看这节课教什么、怎么分配 120 分钟,老师心里有底,课堂节奏就不乱。

第2课会计算的计算器
🎯 趣味项目:加减乘除计算器
变量与赋值+ - * / 四则运算整除 // 取余 % 乘方 **整数与浮点数
🎯教学目标(学完这节课,学生能…)
  • 理解什么是变量,学会用 = 给变量赋值;
  • 掌握 Python 中的加减乘除运算(+ - * /);
  • 认识整除 //、取余 %、乘方 ** 三个特别运算;
  • 了解整数与小数(浮点数)的区别,能编写一个简单的计算器程序。
🔑 教学重点
  • 变量 = 贴了标签的盒子:赋值用 =,用名字取数据
  • 五种算术运算的写法与结果类型(/ 的结果是小数)
🧗 教学难点 / 易卡点
  • 把「赋值 =」和以后要学的「比较 ==」搞混
  • 打印时数字要拼进文字,得先转成字符串(str)
🧰课前准备(老师 / 学生)
  • 老师:准备几个「盒子 + 标签」的实物/图片教具,抽学生上台把数字放进盒子;
  • 学生:打开上节课保存的「第1课」文件热热身;
  • 提醒:这节课开始出现「变量名」,约定用小写英文字母 + 数字命名(如 num1、age)。
⏱️120 分钟教学流程(建议时间轴,可按班级情况微调)
时间环节做什么 / 师生互动要点
0–5候课 · 复习上节打开 Python,快速打印一句自我介绍,唤醒 print 记忆。
5–12快问快答上节课三个问题:print 干嘛的?字符串为什么要引号?两个 print 会打在同一行吗?
12–22情境导入老师说「老师的心算不如电脑快」,出几道大数口算题让学生心算,再让提前写好的 Python 计算器秒出答案。
22–38变量 = 贴标签的盒子用盒子教具演示赋值;讲解变量命名规则;黑板演示 age = 9 再 print(age)。
38–55五种运算逐个演示 + - * / // % **;重点讲「/ 的结果是小数」「% 是分苹果剩下的」两个生活比喻。
55–80示范代码 + 上机学生亲手敲「我的计算器」(示例2)并改 num1/num2 反复运行;老师巡视纠错。
80–95课堂练习 A/B练习 a=7 b=3 四则运算;基础快的同学做圆的周长面积(示例3参考)。
95–105闯关小测口答抢答:// 和 / 有什么区别?7%3=? 2**3=? 等。
105–115总结 · 保存作品齐读口诀;保存为「第2课_计算器.py」;展示 1~2 位同学的作品。
115–120布置作业 · 预告作业说明;预告第 3 课:让程序停下来「听」用户输入。

时间轴把 2 小时切成 8 段:复习→导入→讲解→示范→上机→练习→检测→小结,每段都有明确产出。

02

情景导入 · 复习热身

先用 5 分钟把上节课的记忆叫醒,再用故事和类比把新知识挂到孩子已有的经验上。

🔁上节回顾 · 快问快答(建议 5 分钟)

问 1:上节课我们让电脑「开口说话」,用的是什么函数?
→ print(),输出文字到屏幕。

问 2:文字(字符串)为什么要加引号?
→ 加引号电脑才知道是文字;不加会被当成名字去找,找不到就报错。

问 3:print("苹果") 和 print("香蕉") 会输出在同一行吗?
→ 不会,每个 print 自动换行。

📖情景故事 · 今天学什么

数学课上,老师在黑板上写下一道长长的算式:18 × 37 + 56 ÷ 8 - 9,让大家心算。小刚埋头算了半天,刚算到一半就乱了。

老师笑着说:这种又长又容易算错的题,最适合交给电脑!只见老师敲了几行代码,屏幕立刻跳出答案:665。

小刚眼睛亮了:电脑怎么知道 18、37 这些数放在哪里?老师回答:因为我给它们都起了名字,装进了「变量盒子」里。

今天,我们就来学变量,造一台属于你自己的计算器!

💡生活类比:把新知识挂在旧经验上
📦

变量 = 贴标签的盒子

把数字或文字装进盒子,标签写名字;想用的时候喊名字,盒子就把东西给你。

赋值与取值
➗

除法 / = 分蛋糕

7 ÷ 2 用 / 算是 3.5;用整除 // 是 3(只拿整块);用 % 是余下的 1 块。

三种除法
🏷️

变量名 = 给盒子起名字

名字要让人一看就懂:age、score、num1;不能以数字开头,不能带空格。

命名规则
🔢

整数 vs 小数 = 整块糖 vs 半块糖

整数是没有小数点的数;小数叫浮点数,除法 / 的结果常常是小数。

数据类型
🗝️本课核心口诀(板书 / 齐读)
核 心 口 诀变量就是小盒子,起个名字装数字;
加减乘除都会算,// 整除 % 取余,
想算几的几次方,两个星号 ** 帮!
03

知识讲解

分小块讲透语法点,每一块都配生活类比 + 要点小结,讲完立刻口头小试。

📦变量——给数据起个名字

变量就像一个贴了标签的盒子,你可以把数字或文字放进去。用等号 = 来赋值。

写法:age = 9,就是把数字 9 放进名叫 age 的盒子里。以后想用这个数字,直接写 age 就行。

盒子的东西可以换:再写 age = 10,盒子里的 9 就被 10 替换了。所以叫「变量」——会变的量。

变量名规则:用英文字母、数字、下划线,不能以数字开头,中间不能有空格,最好起个能看懂的名字(age 比 a 好)。

赋值:变量名 = 值(一个等号)用变量名就能取出里面的值变量值可以随时替换更新
💡 跟妈妈借个比喻:变量=收纳盒,名字=盒子上贴的标签,换内容不用换盒子。
🧮数字运算——电脑的速算本领

Python 里的运算符:加法 +,减法 -,乘法 *(不是 ×),除法 /(不是 ÷)。

键盘上没有 × 和 ÷,所以乘法用星号 *,除法用斜杠 /。这点和数学课不一样,要记牢!

运算顺序和数学一样:先乘除后加减,括号最优先。比如 2 + 3 * 4 = 14,而 (2 + 3) * 4 = 20。

打印运算结果可以直接写:print(15 + 4) 会输出 19;也可以先存进变量再打印。

加法 + / 减法 - / 乘法 * / 除法 /运算顺序:先乘除、后加减、括号优先print(2 + 3) 可以直接打印结果
💡 先心算再让电脑算,两边答案一样,说明你真的懂了。
🎯三个特别运算:整除、取余、乘方

除了四则运算,还有三个「升级技能」:// 整除、% 取余、** 乘方。

整除 //:只取整数部分,不要余数。比如 7 // 2 = 3(7 里有 3 个完整的 2)。

取余 %:只要余数。比如 7 % 2 = 1(分完 3 个 2 还剩 1)。生活里分糖果、判断奇偶全靠它。

乘方 :表示「几次方」。2 ** 3 = 8(2×2×2)。注意是两个星号连着写。

// 整除:7 // 2 = 3% 取余:7 % 2 = 1** 乘方:2 ** 3 = 8
💡 口诀:// 拿整块,% 拿剩下的,** 是连乘。
🔢整数和小数(浮点数)

整数就是没有小数点的数,比如 1、10、-5。小数在 Python 里叫「浮点数」,比如 3.14、0.5。

除法 / 的结果默认是小数,即使能整除:6 / 2 的结果是 3.0,不是 3。

为什么?因为电脑很「老实」,它想告诉你 6 除以 2 确实能除尽,但除法统一按小数算更安全。

整数的加减乘(只要不除)结果还是整数;一旦出现小数参与,结果就是浮点数。

整数:没有小数点(1、10、-5)浮点数:有小数点(3.14、0.5)6 / 2 = 3.0,除法默认出小数
💡 看到结果尾巴上的 .0 别惊讶,那是电脑在说「这是小数」。
04

示范代码 · 动手做

老师先带读代码、讲注释,再让学生亲手敲一遍——敲错正好学习调试。

Python示例 1 · 变量初体验:把数据装进盒子
# 给数据起名字:变量
age = 9              # 把数字9放进叫age的盒子
name = "小明"        # 文字也可以装进盒子
print(age)           # 用名字取出数字
print(name)          # 用名字取出文字

# 盒子里的东西可以换
age = 10
print("明年我就" + str(age) + "岁啦")   # 数字拼进文字要加str()
运 行 结 果
9
小明
明年我就10岁啦
✍ 再建两个变量:my_score = 95 和 hobby = "画画",分别打印出来。

🤔 想一想:如果没有 str(),直接写 print("明年" + age + "岁") 会怎样?试完再改回来。

Python示例 2 · 我的计算器:加减乘除一把抓
# 第2课:简单计算器
# 功能:对两个数字进行加减乘除运算

num1 = 15            # 定义第一个变量
num2 = 4             # 定义第二个变量

# 加法
print(str(num1) + " + " + str(num2) + " = " + str(num1 + num2))
# 减法
print(str(num1) + " - " + str(num2) + " = " + str(num1 - num2))
# 乘法(注意:乘号是 *)
print(str(num1) + " * " + str(num2) + " = " + str(num1 * num2))
# 除法(结果是浮点数)
print(str(num1) + " / " + str(num2) + " = " + str(num1 / num2))
运 行 结 果
15 + 4 = 19
15 - 4 = 11
15 * 4 = 60
15 / 4 = 3.75
✍ 把 num1 改成 20、num2 改成 6,再运行一次,口算检查结果对不对。

🤔 想一想:为什么每行都要写 str(num1)?去掉 str 只留 num1 试试,看看报什么错。

Python示例 3 · 特别运算:整除、取余、乘方
# 整除、取余、乘方三兄弟
num1 = 15
num2 = 4

print("整除:" + str(num1 // num2))    # 15里有几个完整的4
print("取余:" + str(num1 % num2))     # 分完还剩几
print("乘方:" + str(num1 ** 2))       # 15的平方
运 行 结 果
整除:3
取余:3
乘方:225
✍ 改成 num1=20、num2=6 心算一遍再运行:20//6=? 20%6=?

🤔 想一想:分 17 颗糖给 5 个小朋友,每人几颗、剩几颗?用 // 和 % 各写一行代码验证。

Python示例 4 · 综合小项目:圆的周长和面积
# 已知半径求圆的周长和面积
# 公式:周长 = 2 * pi * r    面积 = pi * r * r

r = 5                 # 半径
pi = 3.14             # 圆周率(近似值)

c = 2 * pi * r        # 周长
s = pi * r * r        # 面积(r*r 就是 r 的平方)

print("半径是" + str(r) + "的圆:")
print("周长 = " + str(c))
print("面积 = " + str(s))
运 行 结 果
半径是5的圆:
周长 = 31.4
面积 = 78.5
✍ 把半径改成 7,口算 2×3.14×7 是多少,再运行验证。

🤔 想一想:面积公式里的 r * r 能不能写成 r ** 2?两种写法结果一样吗?

05

易错提醒

把最容易翻车的写法先亮出来,见一次、错一次、就会了。

易错点 1

数字直接拼进文字(忘写 str)

✗ 错误写法
print("我" + 9 + "岁")
✓ 正确写法
print("我" + str(9) + "岁")
为什么:加号两边要同类型:文字 + 文字可以,数字要先 str() 变成文字再拼。
易错点 2

变量名以数字开头或带空格

✗ 错误写法
1num = 5
my age = 9
✓ 正确写法
num1 = 5
my_age = 9
为什么:变量名不能以数字开头,不能含空格。想连接两个单词用下划线 _。
易错点 3

把赋值 = 当成数学的等号

✗ 错误写法
age + 1 = age
✓ 正确写法
age = age + 1
为什么:= 是「把右边的值装进左边盒子」,右边算完再赋值。age = age + 1 意思是:把现在的 age 加 1 后再放回盒子。
06

课堂练习(分层)

基础题人人过关,进阶题鼓励尝试,挑战题给学有余力的孩子。参考答案给老师做巡视对照。

A组 · 基础(人人必做)课堂完成,老师巡回指导
  1. 打开「我的计算器」程序,修改 num1 和 num2 的值各运行 3 次,观察结果。
  2. 写一个程序:定义变量 a=7,b=3,计算 a+b、a-b、a*b、a/b,并打印结果。 (提示:参考示例2 的写法,把 num1/num2 换成 a/b。) 参考答案:a+b=10、a-b=4、a*b=21、a/b=2.333…
B组 · 进阶(鼓励尝试)课堂完成,老师巡回指导
  1. 已知圆的半径 r=5,圆周率 pi=3.14,求圆的周长和面积。(周长=2*pi*r,面积=pi*r*r) (提示:直接改示例4 的半径即可。) 参考答案:周长 31.4,面积 78.5
  2. 写一个「我的年龄计算器」:用变量存今年的年龄,再算 10 年后、20 年后各多少岁。 (提示:age = 9; print(age + 10)。)
C组 · 挑战(学有余力)课堂完成,老师巡回指导
  1. 买 3 支笔每支 2 元 5 角,用「元」做单位(2.5),付 10 元应找回多少?写程序算出结果。 (提示:找回 = 10 - 3 * 2.5。) 参考答案:2.5
  2. 从 1 加到 10:用三个变量 total、i 模拟累加,体会 total = total + i 的写法(下一课循环会正式学)。 (提示:先 total=0,再 total=total+1…手动写 10 行太累了吧?想想有没有更聪明的办法。) 参考答案:55
07

闯关小测

收尾前 10 分钟,用口答 / 举手抢答把今天的关键点过一遍。

闯关 1先举手回答,再对答案

age = 9 这句话,是把 9 放进名字叫什么的盒子里?

答案:叫 age 的盒子(变量)。

💡 = 表示赋值:右边的东西装进左边名字的盒子。

闯关 2先举手回答,再对答案

Python 里乘法用什么符号?为什么?

答案:星号 *;因为键盘上没有 ×。

💡 除号是斜杠 /,同样因为键盘上没有 ÷。

闯关 3先举手回答,再对答案

7 // 2 和 7 % 2 的结果分别是多少?

答案:// 是 3(整除拿整块),% 是 1(余数)。

💡 // 拿整块,% 拿剩下的。

闯关 4先举手回答,再对答案

6 / 2 的结果是 3 还是 3.0?

答案:3.0。

💡 除法 / 的结果默认是浮点数(小数)。

闯关 5先举手回答,再对答案

2 ** 3 等于多少?它叫什么运算?

答案:8,乘方(2 的 3 次方)。

💡 ** 是乘方,两个星号连着写。

08

小结 · 作业与预告

用一句话带走今天的内容;作业分层布置,作品记得保存进成长档案。

🖍️本课小结(一句话 + 板书核心词)
一句话带走给数据起个名字(变量),再让电脑做加减乘除——亲手造一个计算器!
变量 = 盒子赋值:age = 9+ - * /// 整除% 取余** 乘方6/2 = 3.0str() 转文字
必做 · 人人过关
  1. 必做题:写一个程序,用变量存你的年龄,算出 10 年后你多少岁并打印(如:10年后我19岁)。
  2. 必做题:把「我的计算器」保存为「第2课_计算器.py」放进作品文件夹。
选做 · 鼓励挑战
  1. 选做题:一个长方形,长是 8,宽是 5,求周长和面积(周长=(长+宽)×2)。用变量存储长和宽。
  2. 选做题:做一张「运算口诀卡」:写出 + - * / // % ** 各代表什么意思,配上自己的例子。
思考 · 烧脑一下
  1. 思考题:10 除以 3 等于多少?10//3 等于多少?10%3 等于多少?在电脑上验证你的答案。
  2. 想一想:为什么变量叫「变」量?它和数学里「x = 3」的 x 有什么不一样?
👉 下节课预告:下一课《输入与互动》:程序不再「自言自语」——用 input 让电脑停下来听你说话,做出会互动的猜数字游戏!