Wyznaj miłość żółwiem – rysujemy serce w Pythonie

serce turtle python skończone

Szybki walentynkowy wpis, dla tych co dzisiaj mają chwilę, aby pokodzić i mają ochotę poznać żółwia.

Czym jest Żółw / Python Turtle?

Turtle to biblioteka Pythona, która jest już dołączona do standardowych bibliotek, które są dostępne dla nas zaraz po zainstalowaniu Pythona 3. Pozwala na rysowanie kształtów, tworzenie prostych obrazków czy gier, dzięki czemu jest często wykorzystywana do nauki programowania dla dzieci.

Obsługa grafiki oparta jest na module Tkintercode> (python-tk musi być zainstalowany przy instalacji Pythona td/tk checkbox lub można doinstalować później pip install tk).

Wskaźnik poruszający się i rysujący po ekranie nazywamy żółwiem.

Żółw ma 3 atrybuty
– miejsce (lokalizację),
– orientację (kierunek ruchu)
– oraz żółwia(Turtle)/pióro(Pen), ja dla wygody nazywam go wskaźnikiem czy strzałką.

Żółw może poruszać się w 4 kierunkach: prawo, lewo, prosto i do tyłu i takie również mamy metody: right(), left, forward(), backward().

Spójrzmy na poniższy kod. Zaczynamy oczywiście o importu biblioteki i wywołujemy kolejne funkcje.

import turtle

turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.backward(50)
turtle.done()

  • Funkcje forward() i backward() przyjmują odległość do przebycia jako wartość liczbową.
  • Funkcje right() i left() przyjmują również wartość liczbową, ale jest to kąt o jaki ma się obrócić żółw/piórko.
import turtle

turtle.circle(100)
turtle.done()

circle() – pozwala narysować kształt koła, wartość w nawiasie to promień koła.
Przetestujcie również:
turtle.circle(100, 180),
turtle.circle(100, 120)
– pierwsza wartość to promień, druga kąt/wycinek koła jaki chcemy narysować.

Tylko tyle informacji potrzebujemy by narysować serce w Pythonie.

Serce za pomocą modułu turtle

Dzisiaj narysujemy serce za pomocą żółwia.

Nie chcę za każdym razem pisać turtle.nazwa_metody(), dlatego inaczej zaimportuję bibliotekę:
from turtle import *.

Zacznijmy od następującego kodu:

from turtle import *

left(40)
forward(60)
circle(30, 200)
left(240)
circle(30, 200)
forward(60)
done()

serce python turtle kontur

Może pokolorujemy serce?

from turtle import *

color(„red”, „pink”)
begin_fill()
left(40)
forward(60)
circle(30, 200)
left(240)
circle(30, 200)
forward(60)
end_fill()
done()

serce python turtle wypełnione

Pogrubmy linie (pensize()), plus schowajmy żółwio-wskaźnik (hideturtle()).

from turtle import *

pensize(3)
color(„red”, „pink”)
begin_fill()
left(40)
forward(60)
circle(30, 200)
left(240)
circle(30, 200)
forward(60)
end_fill()
hideturtle()
done()

serce turtle python skończone

Dla zainteresowanych:

Żółw (tak samo jak ogólnie Python) pozwala nam wykorzystanie programowania proceduralnego, jak i obiektowego.

Porównaj:

import turtle

turtle.forward(100)
turtle.done()

Wszystkie metody z klas biblioteki Turtle są dla nas dostępne jako funkcje i automatycznie wywoływane. Tak samo autmatycznie powstaje domyślny obiekt żółwia. Możemy go jednak utworzyć jawnie:

import turtle

t = turtle.Turtle()
t.forward(100)
turtle.done()

Turtle() – tworzy i zwraca nam nowy obiekt żółwia.
Dodatkowo możemy zmienić kształt żółwia na … żółwia instrukcją shape("turtle") (inne kształty to np. circle, square, arrow )

import turtle
t = turtle.Turtle()
t.shape(’turtle’)
t.forward(100)
turtle.done()