# Chapter 1b - Turtle

## Turtleโ

We first need to import turtle so we can start using turtle functions

``import turtle``
What is Turtle? ๐ข

a pre-installed Python library that enables users to create pictures and shapes by providing them with a virtual canvas

What is a library? ๐
In python libraries are a collection of modules, containing code that can be used in different programs.

Analogy: Suppose you have a set of questions about Biology, I don't know much about biology, so Ideally I would like to invite (import) a biology teacher to our class so you can ask him biology questions.

``#The biology teacher library probably doesn't exist, but this is just to show how this would it would translate in codeimport biology_teacher# We invite our biology teacher to the roombiology_teacher.askBiologyQuestion("Can I turn my cat into diamond?")# and now we are asking our biology teacher a biology related question``

Why is it useful? Is useful to have libraries as a way to get access to precreated code that can help us accelerate our programming (so we can focus on creating what we want instead of the details of something)

### Drawing a circleโ

``import turtleturtle.circle (100) # draws a circle with radius 100``

๐งช Try the code out!

### Moving to Coordinates ๐บโ

We can out the pen down when we are ready to draw

``import turtleturtle.goto(20, 20)turtle.goto(-30, 50)# turtle.home() #goes to (0,0)``

What are coordinates?

๐งช Try the code out!
``import turtleturtle.circle (50, 180) # draws a semi-circle (first parameter is radius, second is degrees)``

๐งช Try the code out!
๐โโ๏ธ What do you think we would need to do in order to draw a quarter-circle with 40 of radio?
``import turtleturtle.circle (50, 360/4) # or 90``
๐งช Try the code out!

### Turtle Shape ๐ข โช โฌโ

We can change how the pen looks like

``turtle.shape('arrow')turtle.shape('turtle')turtle.shape('circle')turtle.shape('square')turtle.shape('triangle')turtle.shape('classic')``
๐งช Try the code out!

### Picking the Pen up and down โโ

``turtle.penup()turtle.circle (40, 360/4) turtle.pendown()turtle.circle (40, 360/4) ``

๐งช Try the code out!

### Colorsโ

Colors supported in Trinket

``turtle.color("yellow") # is used to set the colour of the drawn lineturtle.fillcolor("yellow") # is used to set the color that should be used to fill the drawn figure``
๐งช Try the code out!

### Speed ๐โโ๏ธโ

``turtle.speed(5) # speed varies from 0 to 10turtle.speed(0) # 10 is the fastest, and speed increases from 1 to 10``
๐งช Try the code out!

### Widthโ

You can change the width using something like: `turtle.width(5)`

Example:

``import turtleturtle.goto(20, 20)turtle.width(5)turtle.goto(-30, 50)``

### Hiding and Showing Turtleโ

``turtle.hideturtle() # Hides the turtleturtle.showturtle() # Shows the turtle``

## Challange Time โจ: Turtle Assigmentโ

1. This is the graphic that needs to be created:

1. Before creating the graphic, think about how you will create it. Break down the graphics - How many shapes are there? What are their colors? What are their sizes? Is the turtle visible in the graphic? How should the Python lines of code be sequenced in order to get this image?
2. Write down the instructions needed to create this graphic in the Instructions window of your Trinket.
3. After completion, share the link / embed the Trinket.