- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🧰 理解模块 (Module):学会使用别人的工具箱。
- 📥 掌握导入 (Import):如何把工具箱拿进来。
- 🔢 随机整数:
randint模拟掷骰子。 - 🃏 随机选择:
choice模拟抽签。 - 🔀 随机打乱:
shuffle模拟洗牌。
📖 课程内容
1. 🤔 引入:不要重复造轮子 (10 分钟)
想象你要造一辆车。🚗 你需要自己去种橡胶树做轮胎、去挖铁矿做发动机吗? 不用! 你直接去商店买现成的轮胎和发动机装上去就行了。
在 Python 里,模块 (Module) 就是那个商店。里面装满了别人写好的、超级厉害的函数。我们今天要逛的商店叫 random (随机)。
2. 🧰 把工具箱搬回家:import (10 分钟)
要使用模块,必须先把它“导入”进来。 这通常写在代码的最第一行。
- 📜 语法:
import 模块名
import random # 呼叫随机之神!
print("工具箱准备就绪!")
3. 🔢 神奇骰子:randint (20 分钟)
想要一个随机的整数?用 randint (Random Integer)。
-
📜 语法:
random.randint(开始, 结束) -
⚠️ 注意: 它和
range不一样!它是包含结束数字的!randint(1, 6)-> 可能出现 1, 2, 3, 4, 5, 6。
-
💻 示例:掷骰子
import random
print(“🎲 正在掷骰子…”) point = random.randint(1, 6) print(f”你掷出了: {point} 点”)
if point == 6: print(“运气爆棚!欧皇附体!✨”)
#### 4. 🃏 命运抽签:`choice` (20 分钟)
如果你有一个列表,想从中**随机选一个**,用 `choice`。
* **📜 语法:** `random.choice(列表)`
* **💻 示例:今天吃什么?**
```python
import random
foods = ["汉堡", "披萨", "炸鸡", "沙拉", "牛肉面"]
print("🤔好纠结啊,今天吃什么?")
decision = random.choice(foods) # 电脑帮你选一个
print(f"决定了!就吃 {decision}!")
5. 🔀 疯狂洗牌:shuffle (15 分钟)
如果你想把一个列表的顺序彻底打乱,用 shuffle。
-
📜 语法:
random.shuffle(列表) -
⚠️ 注意: 它不返回值,而是直接修改原来的列表!
-
💻 示例:洗扑克牌
import random
cards = [“红桃A”, “黑桃K”, “梅花3”, “方片Q”] print(“洗牌前:”, cards)
random.shuffle(cards) # 疯狂洗牌 print(“洗牌后:”, cards)
#### 6. ✨ 多元化场景实战 (15 分钟)
**场景 A:🪙 抛硬币**
```python
import random
# 0 代表正面,1 代表反面
coin = random.randint(0, 1)
if coin == 0:
print("🪙 正面")
else:
print("🪙 反面")
场景 B:🧮 口算出题器 利用随机数生成题目,不再需要老师出题啦!
import random
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
print(f"请计算: {num1} + {num2} = ?")
# 这里可以结合 input 让用户答题
💪 课堂大练兵 (10 分钟)
-
🔢 幸运数字: 生成一个 1 到 100 之间的幸运数字,并打印出来。
-
🙋♂️ 随机点名器: 创建一个包含 5 个好朋友名字的列表。 每次运行程序,随机选一个人去“擦黑板”!
📝 课程总结 (5 分钟)
import random:先把工具箱拿进来。random.randint(a, b):生成 a 到 b 的整数(包含 b!)。random.choice(list):从列表里拿一个。random.shuffle(list):把列表打乱。
🏠 课后作业 (5 分钟)
-
✌️ 石头剪刀布 (人机对战):
- 玩家输入:0(石头), 1(剪刀), 2(布)。
- 电脑随机:生成 0, 1, 2。
- 比较输赢,打印结果。(这一题逻辑判断有点复杂,加油!)
-
🔢 猜数字游戏 (完整版): 还记得第七课的猜数字吗?这次请用
random.randint(1, 100)生成真正的秘密数字,然后用while循环让用户猜,直到猜对为止。 -
🔐 随机密码生成器 (选做): 创建一个列表,里面包含所有字母和数字
chars = ['a', 'b', ... '1', '2'...](可以手写一部分)。 利用循环和choice,随机抽取 6 个字符,拼成一个随机密码打印出来。
下节课预告: 现在我们学会了用别人的工具箱。 但是,如果我们需要处理一些时间相关的问题呢?比如倒计时、计算程序跑了多久,或者显示今天的日期? 下节课,我们将探索“时间的奥秘 – Time 模块”!⏳🕰️
下次见,幸运儿们!👋

评论(0)