# G1-16 课后练习 —— if_elif_else
> **GESP等级：一级 | 考级考点：GESP Python 一级**

**姓名：__________  日期：__________**

---

## 一、填空题（每空 2 分，共 20 分）

1. `elif` 的全称是 __________ + __________，意思是"否则，如果……"。
2. `if/elif/else` 多分支中，条件判断的顺序是从 _____ 到 _____，第一个满足的条件执行后 _____（继续/跳过）后面的判断。
3. 在多分支中，应该把范围 _____（大/小）的条件放在前面，范围 _____（大/小）的条件放在后面。
4. 如果 `if` 和所有 `elif` 的条件都不满足，最后会执行 _____ 代码块。
5. `elif` _____（能/不能）独立使用，因为它必须跟在 _____ 或另一个 _____ 后面。

---

## 二、预测输出题（每题 5 分，共 30 分）

阅读以下代码，写出当 x 取不同值时的输出结果。

```python
if x <= 100:
    print("A")
elif x <= 200:
    print("B")
elif x <= 300:
    print("C")
else:
    print("D")
```

| x 的值 | 输出结果 |
|--------|---------|
| 50 | |
| 100 | |
| 150 | |
| 200 | |
| 300 | |
| 500 | |

---

## 三、找 Bug（每题 5 分，共 20 分）

以下代码有什么问题？写出你的分析。

```python
# 代码 A
score = 85
if score >= 60:
    grade = "及格"
elif score >= 80:
    grade = "良好"
elif score >= 90:
    grade = "优秀"
else:
    grade = "不及格"
print(grade)
```

**问题分析：** 
________________________________________________________________
________________________________________________________________

**修正后的代码：**
________________________________________________________________

```python
# 代码 B
x = 150
if x > 100:
    print("大数")
elif x > 50:
    print("中数")
elif x > 0:
    print("小数")
```

**问题分析：**
________________________________________________________________
________________________________________________________________

---

## 四、编程题（30 分）

### 题目：身高分类器

请编写一个程序，根据用户输入的身高（cm），输出对应的类别：

| 身高范围 | 类别 |
|---------|------|
| height < 100 | 幼儿 |
| 100 ≤ height < 140 | 儿童 |
| 140 ≤ height < 170 | 少年 |
| height ≥ 170 | 成年 |

**要求：**
1. 使用 `input()` 获取身高
2. 使用 `if/elif/else` 多分支判断
3. 注意条件顺序！写出两种版本并说明为什么

<hr>

**你的代码：**

```python

```

---

## 五、思考题（附加 10 分）

> 记忆钩子说："elif = else + if 合体排队检查，第一个对的执行，后面全部跳过。"
>
> 请用你自己的话解释，为什么"排队检查"中的"排队"二字特别重要？（提示：想想条件顺序）
>
> ________________________________________________________________
> ________________________________________________________________
> ________________________________________________________________

---

## ⏰ 提交说明

- 提交方式：下节课前交给老师
- 编程题需运行通过
- 找 Bug 题需写出完整分析


---

**自我评价：** □ 全都会了  □ 大部分会了  □ 还要再练练
