# 预备课1：认识新伙伴图图

## 1、Turtle图图

在开始练习前，先来认识一下接下来会陪伴你好几天的程序小伙伴儿turtle【图图】吧，为什么叫做turtle【图图】呢，是因为它长这样：

![01](https://img-blog.csdnimg.cn/20210703140920587.png)

弄错了，是这个：

![02](https://img-blog.csdnimg.cn/2021070314093671.png)

虽然有点丑丑的，但确实是一只货真价实的乌龟，乌龟的英文是turtle，你也可以叫它【图图】，当然你要是叫它小乌龟，也......没啥问题......😓

## 2、图图的设置

天啊！乌龟竟然能画图，开玩笑吗？

不过这确实是一只会画图的乌龟，就像乌龟在海滩上爬行能留下痕迹一样，程序中的【图图】也能帮助我们画出各种各样的线条。

![03](https://img-blog.csdnimg.cn/20210703140950130.png)

### （1）导入图图库

想要使用图图帮助你画图，需要提前做一些设置，设置很简单，一共就两步：

1、导入图图库

2、设定重要信息

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='turtle')
t.done()
```
**第一行** 就是导入【图图】库，然后给图图起了个新的名字`t`（后面会用到）。

**第二行** 是固定的设置，咱们每次写上就行。

**第三行** 是给图图设置一个形状，这里是turtle（乌龟形状），你也可以改成下面的英文：

```python
arrow  circle  square  triangle  classic
```

**第四行** 也是一定要有的语句，它的作用是告诉程序，“我画完啦！”


#### 练习1：

将第三行的`?`改成其它几个英文单词，看看有什么不一样吧：

(单词：`arrow` `circle` `square` `triangle` `classic`)

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='?')
t.done()
```
## 3、行动吧！图图

### （1）图图走起来

掌握了图图的基本设置，就可以让图图开始行动啦，我们先学习最简单的向前走：

```python
t.forward(100)    # 向前走100步
```
想让图图向前走多少步，数字就是多少，把这行代码写入到前面的程序中试试：

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='turtle')
t.forward(100)     #向前走100步
t.done()
```
既然有向前走，那么，当然还有向后退，赶紧试试吧：

```python
t.back(100)    # 向后退100步
```
### （2）向左转

既然能走，当然可以转弯啊，图图可是“艾科不来梅西多亚瑟星球”最能转的乌龟

向左转也很简单，就是下面这个口令啦：

```python
t.left(90)     #向左转90度
```
再加上向前走我们就能画出一个直角啦：

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='turtle')
t.forward(100)     #向前走100步
t.left(90)         #向左转90度
t.forward(100)     #向前走100步
t.done()
```

#### 挑战1：

（1）修改`left`中的角度，看看图图能画出下面这些角吗？(钝角和锐角)

（2）除了向左转，也有向右转哦，它的指令是这样的`t.right(100)`，赶紧试试吧！

![04](https://img-blog.csdnimg.cn/20210703141007311.png)

![05](https://img-blog.csdnimg.cn/20210703141022458.png)

#### 练习2：

如果要画出下面这个角度为30度的角应该怎么办呢？

![06](https://img-blog.csdnimg.cn/20210703141035999.png)

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='turtle')
t.forward(100)     #向前走100步
t.right(30)         #向右转30度
t.forward(100)     #向前走100步
t.done()
```
这样写对吗？

哈哈，当然不对，来画一条辅助线看看，图图实际转动的度数是红色箭头指示的角度，我们知道平角等于180度，平角也就是下面这个平平的线啦：

![07](https://img-blog.csdnimg.cn/20210703141052841.png)

所以图图实际转动的角度等于180 - 30 = 150，之后我们会画很多这样的角，你也可以做一条辅助线，用180减去标出来的角，就是要转动的角度啦：

![08](https://img-blog.csdnimg.cn/20210703141106496.png)

正确的写法：

```python
import turtle as t
t.TurtleScreen._RUNNING = True
t.shape(name='turtle')
t.forward(100)     #向前走100步
t.right(150)       #向右转150度
t.forward(100)     #向前走100步
t.done()
```
