🐍 🐢

In this lesson, we will be drawing with the turtle module.

Run Python in interactive mode (after you activate Conda, write Python in the command line).

$ python

>>>

The characters > and $ are printed by the computer, not by you. On Windows, it will be > instead of $. Before the $ or >, there can be some other words.

Then write:

from turtle import forward

forward(50)

Now a popup window will appear, don't close it. Place it somewhere where you will be able to see it and your command line, too.

Where is the turtle?

Currently, the turtle is disguised as an arrow. There is a way how to unmask it:

from turtle import shape

shape('turtle')

Rotation

The turtle can rotate and crawl across the "paper". It has a brush on its tail which draws a line.

from turtle import left, right

forward(50)
left(60)
forward(50)
right(60)
forward(50)

Now give the turtle some commands. If you don't like the drawing you can close the window, or import and use the function clear().

Turtle program

Interactive mode is good for trying new stuff but we will now go back to our editors and write some program in a file.

Create a file ~/pyladies/03/drawing.py.

The directory ~/pyladies can have a different name on your laptop – see Python installation.

You can have a different name for your file, just don't use turtle.py.

Write drawing commands into the file and in the end call the function exitonclick (imported from module turtle).

Question

What does the function exitonclick do?

After you are done, we can start with drawing pictures:

Square

Draw a square.

Turtle square

A square has 4 equal straight sides and 4 90° angles.

Řešení

Rectangle

Draw a rectangle.

Try to make it so that the turtle will "look" to the right in the end (like it was in the beginning).

Turtle rectangle

Řešení

Three squares

Now draw three sqares, each rotated by 20°.

Three turtle squares

Řešení

Can we write it better?

So much code! There has to be a way how to simplify it.

There is. Now we will learn the command for.

Repetition

What does the following code do? Save it as ~/pyladies/03/loop.py

for number in range(5):
    print(number)

for greeting in 'Ahoj', 'Hello', 'Hola', 'Hei', 'SYN':
    print(greeting + '!')

What does the command for do?

Řešení

Overwriting variables

What does the following program do?

sum = 0

for number in 8, 45, 9, 21:
    sum = sum + number

print(sum)

Řešení

Square

Back to drawing! This time we will use loops.

Draw a square.

Use forward only twice, once in the import and once as function.

Turtle square

Řešení

Discontinuous line

The functions penup and pendown from the turtle module tell the turtle to stop/start drawing.

Try to draw a discontinuous line.

Turtle and discontinuous line

Řešení

Now try to make it so that the lines that are drawn become gradually bigger.

Turtle and discontinuous line]

Help

What exactly does the command for do? Can we use the variable that it sets up?

Řešení

Three squares

Finally, draw 3 squares, each rotated by 20°. Now you know how to write it in a simple way: repeat the code by using for, do not copy the code.

Three turtle squares

Řešení

Extra tasks

When you are done, try to draw stairs:

Turtle stairs

When you are also done with the stairs, try to draw 7 hexagons:

Turtle hexagons

{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2018/pyladies-en-prague:def:0",
      "title": "Turtle and loops",
      "html": "\n          \n    \n\n    <h1>&#x1F40D; &#x1F422;</h1>\n<p>In this lesson, we will be drawing with the <em>turtle</em> module.</p>\n<p>Run Python in <em>interactive mode</em> (after you activate Conda, write Python in the command line).</p>\n<div class=\"highlight\"><pre><span></span><span class=\"go\">$ python</span>\n\n<span class=\"go\">&gt;&gt;&gt;</span>\n</pre></div><div class=\"admonition note\"><p>The characters <code>&gt;</code> and <code>$</code> are printed by the computer, not by you.\nOn Windows, it will be <code>&gt;</code> instead of <code>$</code>. \nBefore the <code>$</code> or <code>&gt;</code>, there can be some other words.</p>\n</div><p>Then write:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n</pre></div><p>Now a popup window will appear, don&apos;t close it.\nPlace it somewhere where you will be able to see it and\nyour command line, too.</p>\n<h2>Where is the turtle?</h2>\n<p>Currently, the turtle is disguised as an arrow.\nThere is a way how to unmask it:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">shape</span>\n\n<span class=\"n\">shape</span><span class=\"p\">(</span><span class=\"s1\">&apos;turtle&apos;</span><span class=\"p\">)</span>\n</pre></div><h2>Rotation</h2>\n<p>The turtle can rotate and crawl across the &quot;paper&quot;.\nIt has a brush on its tail which draws a line.</p>\n<div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">right</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">60</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">right</span><span class=\"p\">(</span><span class=\"mi\">60</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n</pre></div><p>Now give the turtle some commands.\nIf you don&apos;t like the drawing you can close\nthe window, or import and use the function <code>clear()</code>.</p>\n<h2>Turtle program</h2>\n<p>Interactive mode is good for trying new stuff\nbut we will now go back to our editors\nand write some program in a file.</p>\n<p>Create a file <code>~/pyladies/03/drawing.py</code>.</p>\n<div class=\"admonition note\"><p>The directory <code>~/pyladies</code> can have a different name on your laptop\n&#x2013; see <a href=\"/2018/pyladies-en-prague/beginners/install/\">Python installation</a>.</p>\n</div><p>You can have a different name for your file, just don&apos;t use <code>turtle.py</code>.</p>\n<p>Write drawing commands into the file\nand in the end call the function <code>exitonclick</code>\n(imported from module <code>turtle</code>).</p>\n<div class=\"admonition note\"><p class=\"admonition-title\">Question</p>\n<p>What does the function <code>exitonclick</code> do?</p>\n</div><p>After you are done, we can start with drawing pictures:</p>\n<h3>Square</h3>\n<p>Draw a square.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-square.png\" alt=\"Turtle square\"></p>\n<p>A square has 4 equal straight sides\nand 4 90&#xB0; angles.</p>\n<div class=\"solution\" id=\"solution-0\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/0/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h3>Rectangle</h3>\n<p>Draw a rectangle.</p>\n<p>Try to make it so that the turtle will &quot;look&quot; to the right in the end (like it was in the beginning).</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-rect.png\" alt=\"Turtle rectangle\"></p>\n<div class=\"solution\" id=\"solution-1\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/1/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h3>Three squares</h3>\n<p>Now draw three sqares, each rotated by 20&#xB0;.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-squares.png\" alt=\"Three turtle squares\"></p>\n<div class=\"solution\" id=\"solution-2\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/2/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">)</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">)</span>\n\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n<span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h3>Can we write it better?</h3>\n<p>So much code! There has to be a way how to simplify it.</p>\n<p>There is.\nNow we will learn the command <code>for</code>.</p>\n<h2>Repetition</h2>\n<p>What does the following code do?\nSave it as <code>~/pyladies/03/loop.py</code></p>\n<div class=\"highlight\"><pre><span></span><span class=\"k\">for</span> <span class=\"n\">number</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">):</span>\n    <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">number</span><span class=\"p\">)</span>\n\n<span class=\"k\">for</span> <span class=\"n\">greeting</span> <span class=\"ow\">in</span> <span class=\"s1\">&apos;Ahoj&apos;</span><span class=\"p\">,</span> <span class=\"s1\">&apos;Hello&apos;</span><span class=\"p\">,</span> <span class=\"s1\">&apos;Hola&apos;</span><span class=\"p\">,</span> <span class=\"s1\">&apos;Hei&apos;</span><span class=\"p\">,</span> <span class=\"s1\">&apos;SYN&apos;</span><span class=\"p\">:</span>\n    <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">greeting</span> <span class=\"o\">+</span> <span class=\"s1\">&apos;!&apos;</span><span class=\"p\">)</span>\n</pre></div><p>What does the command <code>for</code> do?</p>\n<div class=\"solution\" id=\"solution-3\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/3/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <p>The command <code>for</code> repeats part of a program.\nIt repeats commands that are indented after <code>for</code>.\nIt&apos;s the same as with <code>if</code> - it applies only to\ncommands that are indented below.</p>\n<p>The command <code>for x in range(n):</code> repeats the commands below <var>n</var> times\nand it increments the variable <code>x</code> gradually from 0 to n-1.</p>\n<p>The command <code>for x in a, b, c, d, ...:</code> repeats the commands below;\nit increments the variable <code>x</code> gradually to <var>a</var>, <var>b</var>,\n<var>c</var> <var>d</var>, ...</p>\n    </div>\n</div><h3>Overwriting variables</h3>\n<p>What does the following program do?</p>\n<div class=\"highlight\"><pre><span></span><span class=\"nb\">sum</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n\n<span class=\"k\">for</span> <span class=\"n\">number</span> <span class=\"ow\">in</span> <span class=\"mi\">8</span><span class=\"p\">,</span> <span class=\"mi\">45</span><span class=\"p\">,</span> <span class=\"mi\">9</span><span class=\"p\">,</span> <span class=\"mi\">21</span><span class=\"p\">:</span>\n    <span class=\"nb\">sum</span> <span class=\"o\">=</span> <span class=\"nb\">sum</span> <span class=\"o\">+</span> <span class=\"n\">number</span>\n\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"nb\">sum</span><span class=\"p\">)</span>\n</pre></div><div class=\"solution\" id=\"solution-4\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/4/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <p>The command <code>sum = sum + number</code> calculates the value of\n<code>sum + number</code>, adds the current number to the sum,\nand stores the result in the variable <code>sum</code>.\nThe new value of <code>sum</code> will be used in the next loop.</p>\n<p>In the beginning the sum is 0, and in the end the sum of\nour numbers will be printed.</p>\n    </div>\n</div><h3>Square</h3>\n<p>Back to drawing! This time we will use loops.</p>\n<p>Draw a square.</p>\n<p>Use <code>forward</code> only twice, once in the import\nand once as function.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-square.png\" alt=\"Turtle square\"></p>\n<div class=\"solution\" id=\"solution-5\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/5/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">4</span><span class=\"p\">):</span>\n    <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n    <span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h3>Discontinuous line</h3>\n<p>The functions <code>penup</code> and <code>pendown</code> from the <code>turtle</code>\nmodule tell the turtle to stop/start drawing.</p>\n<p>Try to draw a discontinuous line.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-dashed.png\" alt=\"Turtle and discontinuous line\"></p>\n<div class=\"solution\" id=\"solution-6\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/6/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">penup</span><span class=\"p\">,</span> <span class=\"n\">pendown</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">):</span>\n    <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n    <span class=\"n\">penup</span><span class=\"p\">()</span>\n    <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n    <span class=\"n\">pendown</span><span class=\"p\">()</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><p>Now try to make it so that the lines that are drawn become\ngradually bigger.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-dashed2.png\" alt=\"Turtle and discontinuous line]\"></p>\n<div class=\"admonition note\"><p class=\"admonition-title\">Help</p>\n<p>What exactly does the command <code>for</code> do?\nCan we use the variable that it sets up?</p>\n</div><div class=\"solution\" id=\"solution-7\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/7/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">penup</span><span class=\"p\">,</span> <span class=\"n\">pendown</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">):</span>\n    <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"p\">)</span>\n    <span class=\"n\">penup</span><span class=\"p\">()</span>\n    <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n    <span class=\"n\">pendown</span><span class=\"p\">()</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h3>Three squares</h3>\n<p>Finally, draw 3 squares, each rotated by 20&#xB0;.\nNow you know how to write it in a simple way: repeat the code\nby using <code>for</code>, do not copy the code.</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-squares.png\" alt=\"Three turtle squares\"></p>\n<div class=\"solution\" id=\"solution-8\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2018/pyladies-en-prague/beginners-en/turtle/index/solutions/8/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">turtle</span> <span class=\"kn\">import</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">right</span><span class=\"p\">,</span> <span class=\"n\">speed</span><span class=\"p\">,</span> <span class=\"n\">exitonclick</span>\n\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">3</span><span class=\"p\">):</span>\n    <span class=\"k\">for</span> <span class=\"n\">j</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">4</span><span class=\"p\">):</span>\n        <span class=\"n\">forward</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n        <span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">)</span>\n    <span class=\"n\">left</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">)</span>\n\n<span class=\"n\">exitonclick</span><span class=\"p\">()</span>\n</pre></div>\n    </div>\n</div><h2>Extra tasks</h2>\n<p>When you are done, try to draw stairs:</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-stairs.png\" alt=\"Turtle stairs\"></p>\n<p>When you are also done with the stairs, try to draw 7 hexagons:</p>\n<p><img src=\"/2018/pyladies-en-prague/beginners-en/turtle/static/turtle-hexagons.png\" alt=\"Turtle hexagons\"></p>\n\n\n        "
    }
  }
}