Turtle je zábavná a interaktivní knihovna v Pythonu, která umožňuje kreslit nejrůznější tvary a vzory pomocí jednoduchých příkazů. V tomto rozsáhlém tutoriálu si krok za krokem ukážeme, jak začít, jak využívat základní i pokročilé funkce turtle, a přidáme bohaté příklady pro procvičení.
Python standardně obsahuje modul turtle, takže není potřeba nic instalovat. Můžete ho importovat takto:
import turtle
Tento modul je ideální pro začátečníky, protože nabízí vizuální zpětnou vazbu a jednoduché API.
Abyste mohli kreslit, musíte vytvořit okno a objekt k vytváření čar (krokodýlka = turtle):
import turtle
# Vytvoření okna
environment = turtle.Screen()
environment.title("Moje první turtle aplikace")
t = turtle.Turtle() # objekt kreslící čáry
t.speed(5) # nastavení rychlosti
Metodou turtle.done() program ukončí a nechá okno otevřené.
Nejdůležitější příkazy turtle:
forward(distance) (nebo fd(distance))backward(distance) (nebo bk(distance))right(angle) (nebo rt(angle))left(angle) (nebo lt(angle))penup() a pendown()# Příklad: jednoduchý čtverec
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
turtle.done()
Pomocí smyčky for lze výrazně zkrátit kód:
for i in range(6):
t.forward(80)
t.right(60)
turtle.done()
Tento kód nakreslí pravidelný hexagon. Změnou rozsahu a úhlu lze vytvořit jakýkoli mnohoúhelník.
Vnořené smyčky umožňují složité vzory:
for i in range(36):
for i in range(4):
t.forward(150)
t.right(90)
t.right(10)
turtle.done()
Výsledkem je "kyvadlo" z rovnoběžníků otáčejících se o 10°.
Nastavení barvy pera a výplně:
t.pensize(4)
t.pencolor("blue")
t.fillcolor("yellow")
t.begin_fill()
for i in range(3):
t.forward(200)
t.left(120)
t.end_fill()
turtle.done()
Tento příklad nakreslí vyplněný trojúhelník.
Můžete reagovat na klávesy nebo kliknutí myši:
def dopredu():
t.forward(50)
def doleva():
t.left(45)
screen = turtle.Screen()
screen.listen()
screen.onkey(dopredu, "Up")
screen.onkey(doleva, "Left")
screen.mainloop()
Zmíněné funkce se spustí při stisku šipky nahoru a vlevo.
Text lze přidat takto:
t.penup()
t.goto(-100, 100)
t.pendown()
t.write("Ahoj Turtle!", font=("Arial", 24, "normal"))
turtle.done()