# G1-03 课后练习 —— 画正方形
> **GESP等级：一级 | 考级考点：GESP Python 一级**

**姓名：__________  日期：__________**

---

**完成时间：** 约 20 分钟

---

## 一、判断题（每题2分，共10分）

1. （ ）画正方形时，乌龟右转的角度应该是 90°。
2. （ ）`forward(100)` 中的 100 表示乌龟移动的速度。
3. （ ）把 `forward` 写成 `forword` 会出现运行时异常。
4. （ ）正方形有 4 条边，所以需要 4 次 `forward` 和 4 次 `right`。
5. （ ）正三角形每个转弯角度是 60°。

---

## 二、选择题（每题3分，共15分）

1. 以下哪段代码能让乌龟画出一个正方形？
   - A. forward(100) + right(90) 重复 3 次
   - B. forward(100) + right(90) 重复 4 次
   - C. forward(90) + right(100) 重复 4 次
   - D. forward(100) + right(360) 重复 4 次

2. 运行 `turtle.forward("一百")` 会出现什么？
   - A. 语法错误（SyntaxError）
   - B. 运行时异常（TypeError）
   - C. 乌龟正常前进 100 步
   - D. 程序正常但什么都不画

3. 画一个正三角形，乌龟每次右转多少度？
   - A. 60°
   - B. 90°
   - C. 120°
   - D. 180°

4. 下列哪个是语法错误（SyntaxError / NameError）？
   - A. `t.forward("abc")`
   - B. `t.forword(100)`
   - C. `t.forward(100, 200)`
   - D. `t.forward(-100)`

5. 正方形画完后，乌龟的朝向和出发时相比______。
   - A. 相反
   - B. 相同（朝右）
   - C. 朝下
   - D. 不确定

---

## 三、代码改错（每题5分，共10分）

下面的代码都有 bug，请找出并修正。

**题目1：** 运行后画出一个"开口"的正方形，少了一条边。

```python
import turtle
t = turtle.Turtle()
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
```

> **问题出在哪里？** __________________________________
>
> **修正方法：** ________________________________________

**题目2：** 运行后报错，程序崩溃。

```python
import turtle
t = turtle.Turtle()
t.forword(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
```

> **问题出在哪里？** __________________________________
>
> **修正方法：** ________________________________________

---

## 四、编程题（15分）

### 4.1 画一个等腰直角三角形（7分）

用 turtle 画一个等腰直角三角形，两条直角边各长 150 步。

提示：
- 先前进 150 步
- 右转 90°
- 再前进 150 步
- 右转 135°（等腰直角三角形顶角 90°，底角 45°，外角 135°）
- 前进足够回到起点的距离（约 212 步）

```python
import turtle

t = turtle.Turtle()
t.color("purple")

# 请在下方编写代码

```

### 4.2 创意多边形（8分）

用 turtle 画一个 **六边形**（6条边），每条边长 80 步。

提示：转角 = 360 ÷ 6 = _______

```python
import turtle

t = turtle.Turtle()
t.color("orange")

# 请在下方编写代码

```

---

## 五、小测试（5分）

> **课前小测（下节课提问，请提前想好答案）**

1. 画一个正三角形，乌龟右转的角度是多少度？用算式表示：____ ÷ ____ = ____
2. "语法错误"和"运行时异常"有什么区别？请用自己的话说一说。

---



**完成情况：** □ 全部独立完成 □ 大部分独立完成 □ 需要帮助完成

---

---

**自我评价：** □ 全都会了  □ 大部分会了  □ 还要再练练