# G4-09 课后练习 —— 文件读写上
> **GESP等级：四级 | 考级考点：GESP Python 四级**

**姓名：__________  日期：__________**

---

**复习口诀（先背一遍）：**
> "open开门read读，write写入close关，with帮你自动管！"
> "r=读(read)，w=写(write)，a=追加(add)"

---

## 第一关：基础闯关（必做）

### 第1题 温度记录器（15分）

请写一个程序：
1. 用 `input()` 问"今天的气温是多少度？"
2. 把气温追加写入 `temperature.txt`
3. 每次运行都自动加上日期标记（假设日期固定）

**示例运行：**
```
今天的气温是多少度？28
已记录：2026-06-05 28度
```

```python
# 你的代码：










```

### 第2题 文件合并大师（15分）

现有三个文件 `chinese.txt`、`math.txt`、`english.txt`，内容分别是语文、数学、英语的成绩。
请写程序读取三个文件，合并写入 `total.txt`。

*（先用代码创建这三个文件，内容自定）*

```python
# 创建三个科目文件
with open("chinese.txt", "w", encoding="utf-8") as f:
    f.write("语文：95分\n")

# 请继续...







```

### 第3题 逐行读取并加行号（20分）

读取任意一个文本文件，给每一行加上行号后打印出来。

**示例：**
```
1: 从前有座山
2: 山里有座庙
3: 庙里有个老和尚
```

```python
# 你的代码：










```

---

## 第二关：进阶挑战（选做）

### 第4题 迷你日记本（20分）

写一个"迷你日记本"程序，提供三个选项：
1. 写日记（a模式追加）
2. 读日记（r模式读取）
3. 退出

**提示：** 用 while 循环和 if 判断

```python
# 你的代码：










```

### 第5题 文件统计分析器（20分）

写一个程序，读取一个文件并统计：
1. 总共有多少行
2. 总共有多少个字（中文算1个字）
3. 最长的一行是什么

**提示：** 用 `len()` 计算长度

```python
# 你的代码：










```

---

## 第三关：创意挑战（选做）

### 第6题 留言墙程序（+30分）

写一个"留言墙"程序：
1. 每次运行可以输入一条留言
2. 留言前面自动加上序号
3. 最后显示所有留言

**示例输出：**
```
=== 留言墙 ===
1. 今天很开心！
2. 学会了文件读写
3. Python真好玩
请输入你的留言：第四天学会了turtle
留言已保存！

=== 所有留言 ===
1. 今天很开心！
2. 学会了文件读写
3. Python真好玩
4. 第四天学会了turtle
```

**提示：**
- 每次读取文件统计行数作为序号
- 用 a 模式追加新留言

```python
# 你的代码：










```

### 第7题 背单词助手（+30分）

创建一个单词本文件，每行一个英文单词。写程序：
1. 随机选择一个单词（可以用 random 模块）
2. 显示中文意思（输入中文）
3. 让用户输入英文
4. 判断是否正确

```python
# 你的代码：










```

---


\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**完成情况：**
- [ ] 第一关全部完成（共3题）
- [ ] 第二关完成（共2题）
- [ ] 第三关完成（共2题）

**本次作业用时：** \_\_\_\_\_ 分钟

---

**参考答案提示：**
- 追加模式记得用 "a" 不是 "w"
- 读取行数可以用 `len(f.readlines())`
- with 语句会自动关闭，不用写 close()
- 写文件时别忘了加换行符 \n


---

**自我评价：** □ 全都会了  □ 大部分会了  □ 还要再练练
