🔢 Python 编程大冒险 – 第三课:数字戏法与文字分身术
- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🧮 掌握高级数学运算:整除
//、取余%、次方**。 - 🔗 学会字符串拼接与重复:让文字连起来或变身。
- 📍 理解索引 (Index):为什么电脑从 0 开始数数?
- ⚔️ 掌握切片 (Slicing):提取字符串的一部分。
- 📏 学会
len():测量文字的长度。
- 🧮 掌握高级数学运算:整除
📖 课程内容
1. 🧮 数学大神的秘密武器 (20 分钟)
我们都知道 + (加), - (减), * (乘), / (除)。
但在 Python 里,还有三个超级好用的符号!
-
1️⃣ 地板除 / 整除 (
//): 它有点“粗鲁”,计算除法时,会直接砍掉小数点后面的尾巴,只保留整数。print(10 / 3) # 普通除法,结果是 3.33333... print(10 // 3) # 地板除,结果是 3 (尾巴丢掉!) -
2️⃣ 取余数 / 模运算 (
%): 这是编程里最有用的符号之一!它计算除法剩下的余数。- 场景: 有 10 颗糖,分给 3 个人,每人 3 颗,还剩几颗?
print(10 % 3) # 结果是 1 (剩 1 颗) print(8 % 2) # 结果是 0 (没有剩余,说明 8 能被 2 整除,是偶数!)💡 小技巧: 我们可以用
% 2来判断一个数是奇数还是偶数。
- 场景: 有 10 颗糖,分给 3 个人,每人 3 颗,还剩几颗?
-
3️⃣ 幂运算 / 次方 (`
):** 想要算 2 的 10 次方?不用写222…`,用两个星号搞定!print(2 ** 3) # 2 的 3 次方 (2 * 2 * 2),结果是 8 print(5 ** 2) # 5 的平方,结果是 25
2. 🔗 文字的“胶水”与“分身术” (10 分钟)
文字(字符串)也可以做加法和乘法?当然!
-
➕ 胶水 (拼接): 把两段文字粘在一起。
first = "Super" last = "Man" print(first + last) # 输出 SuperMan -
✖️ 分身术 (重复): 让一段文字重复出现好多次。
print("哈" * 5) # 输出 哈哈哈哈哈 print("-" * 20) # 画一条长长的分割线
3. 📍 寻找字符的“门牌号”:索引 (15 分钟)
想象一下,字符串 "PYTHON" 就像一列有 6 节车厢的小火车 🚂。每个字符都坐在自己的座位上。
我们要通过座位号(索引 Index) 来找到它们。
-
⚠️ 黄金法则:电脑从 0 开始数数! 第一个字符的号码是 0,不是 1!
字符: P Y T H O N 索引: 0 1 2 3 4 5 -
💻 代码怎么写: 使用方括号
[]。text = "PYTHON" print(text[0]) # 获取第 1 个字:P print(text[2]) # 获取第 3 个字:T -
🔙 倒着数: Python 很聪明,支持负数索引。-1 代表倒数第一个。
print(text[-1]) # 最后一个字:N print(text[-2]) # 倒数第二个字:O
4. ⚔️ 忍者的刀法:切片 (20 分钟)
如果我们不想要一个字,而是想要一段字(比如 “THO”),就要用到切片 (Slicing)。
-
📜 语法:
[开始 : 结束]- 开始 (Start): 从哪里开始切(包含这个位置)。
- 结束 (Stop): 到哪里停止(不包含这个位置!)。
💡 记忆口诀:包头不包尾!
-
💻 示例:
# 索引: 0 1 2 3 4 5 # 字符: P Y T H O N text = "PYTHON" # 从索引 0 开始,到索引 2 停止 (取 0, 1) print(text[0:2]) # 输出 PY # 从索引 2 开始,到索引 5 停止 (取 2, 3, 4) print(text[2:5]) # 输出 THO -
✨ 偷懒写法:
- 如果从头开始,
开始可以不写:text[:2](前两个字)。 - 如果要取到最后,
结束可以不写:text[2:](从索引2一直到最后)。 - 全部都要:
text[:]。
- 如果从头开始,
5. 📏 测量工具:len() (5 分钟)
想知道一句话有多少个字?用 len() 函数(Length 的缩写)。
name = "Harry Potter"
length = len(name)
print(length) # 输出 12 (注意空格也算一个字符哦!)
6. 🤸 进阶:步长与反转 (10 分钟)
切片其实还有第三个参数:[开始 : 结束 : 步长]。
步长就是“每隔几个取一个”。
nums = "123456789"
# 每隔 1 个取一个 (取奇数位)
print(nums[::2]) # 输出 13579
# 🤯 魔法操作:字符串反转
# 如果步长是 -1,代表倒着取!
print(nums[::-1]) # 输出 987654321
💪 课堂大练兵 (10 分钟)
是时候展示你的技术了!完成以下任务:
-
🔍 奇偶探测器: 让用户输入一个数字,计算这个数字除以 2 的余数。
- 如果结果是 0,打印“这是偶数”。
- 如果结果是 1,打印“这是奇数”。
(提示:用
input,int,%)
-
🆔 名字提取器: 创建一个变量
full_name = "Sherlock Holmes"。- 打印它的第一个字符。
- 打印它的最后一个字符。
- 尝试把 “Sherlock” 切片切出来。
-
🔢 数字拆解 (挑战题): 有一个三位数
num = 456。 请利用数学运算//和%,分别打印出它的:- 百位 (4)
- 十位 (5)
- 个位 (6)
📝 课程总结 (5 分钟)
今天我们掌握了数据的精细操作!🧠
- 数学运算:
//去尾巴,%找余数,**算次方。 - 字符串索引:从 0 开始数!
text[0]是第一个。 - 切片操作:
[头 : 尾],包头不包尾! - 神奇反转:
text[::-1]可以把文字倒过来。
🏠 课后作业 (5 分钟)
-
🕵️♂️ 隐私保护程序: 编写一个程序,让用户输入手机号(11位)。 然后打印出隐藏中间 4 位的号码。 *例如输入
13812345678,输出138****5678。 (提示:用切片取出前 3 位,再取出后 4 位,中间拼上****)* -
🔙 回文词检测器: 编写程序,让用户输入一个单词。 然后分别打印出原单词和反转后的单词。 例如输入
level,反转后还是level,这种词叫回文词! -
⏱️ 秒数转换 (选做): 编写程序,让用户输入一个总秒数(例如 150 秒)。 计算并打印出这是 几分 几秒。 (例如 150 秒 = 2 分 30 秒。提示:用
//算分钟,用%算剩下的秒)
下节课预告: 我们的程序现在只会一条路走到黑。下节课,我们要让程序学会“思考和选择”!如果下雨怎么办?如果考试不及格怎么办?🤔
下周见,小程序员们!👋

评论(0)