Add Day_9: 模块+猜数字游戏
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
# Day_9 · 模块与猜数字小游戏(综合复习)
|
||||||
|
|
||||||
|
> 预计耗时:25~30 分钟
|
||||||
|
> Python 有很多现成的"工具包"叫**模块**(module),`import` 就能用。
|
||||||
|
> 今天用随机数模块写个小游戏,顺便把 input / if / while 全部串起来复习一遍。
|
||||||
|
|
||||||
|
## 今日知识点
|
||||||
|
|
||||||
|
- `import random`:随机数模块,`random.randint(1, 10)` 生成 1~10 的随机整数
|
||||||
|
- `import time`:时间模块,`time.time()` 拿当前时间(秒)
|
||||||
|
- 为什么要模块:别人写好、你直接用,就像 Django 也是别人写好给你用的"大模块"
|
||||||
|
|
||||||
|
## 先学(教程)
|
||||||
|
|
||||||
|
- 菜鸟教程("模块"一节,看 import 怎么用即可):https://www.runoob.com/python3/python3-module.html
|
||||||
|
- B站黑马教程(看讲"模块、random"的几集):https://www.bilibili.com/video/BV1qW4y1a7fU/
|
||||||
|
|
||||||
|
## 任务(后做)
|
||||||
|
|
||||||
|
新建 `day9.py`,写一个**猜数字游戏**:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import random
|
||||||
|
|
||||||
|
target = random.randint(1, 10) # 电脑随机想一个 1~10 的数
|
||||||
|
print("我想到一个 1~10 之间的数,你猜猜看!")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
guess = int(input("你的猜测:"))
|
||||||
|
if guess == target:
|
||||||
|
print("猜对啦!")
|
||||||
|
break # 猜对就结束
|
||||||
|
elif guess < target:
|
||||||
|
print("小了,再大点")
|
||||||
|
else:
|
||||||
|
print("大了,再小点")
|
||||||
|
```
|
||||||
|
|
||||||
|
测试:多玩几局,确认"大了/小了/猜对"三种反馈都正常。
|
||||||
|
|
||||||
|
**进阶(加分)**:
|
||||||
|
|
||||||
|
1. 用 `import time` 记录"猜了几秒":游戏开始记一次 `time.time()`,结束再记一次,两者相减就是秒数,游戏结束时打印。
|
||||||
|
2. 限制最多猜 5 次,超过就打印"机会用完了,答案是 X"并结束(提示:用 `for` 代替 `while True`,或者加一个计数变量 + `break`)。
|
||||||
|
|
||||||
|
## 完成标准
|
||||||
|
|
||||||
|
- [ ] 游戏能正常玩完一整局
|
||||||
|
- [ ] 能说出 `import random` 是干什么的
|
||||||
|
- [ ] (进阶)能统计用时 或 限制次数(二选一即可)
|
||||||
|
|
||||||
|
**提交方式**:把 `day9.py` 代码贴在当日工单评论里。
|
||||||
|
|
||||||
|
## 参考解答(先做再看)
|
||||||
|
|
||||||
|
```python
|
||||||
|
import random
|
||||||
|
import time
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
|
target = random.randint(1, 10)
|
||||||
|
print("我想到一个 1~10 之间的数,你猜猜看!")
|
||||||
|
|
||||||
|
for i in range(5): # 进阶 2:最多 5 次
|
||||||
|
guess = int(input("你的猜测:"))
|
||||||
|
if guess == target:
|
||||||
|
print("猜对啦!")
|
||||||
|
break
|
||||||
|
elif guess < target:
|
||||||
|
print("小了,再大点")
|
||||||
|
else:
|
||||||
|
print("大了,再小点")
|
||||||
|
else: # for 正常结束(没 break)才执行
|
||||||
|
print(f"机会用完了,答案是{target}")
|
||||||
|
|
||||||
|
end = time.time()
|
||||||
|
print(f"用时{end - start:.1f}秒") # 进阶 1:统计用时
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user