1. Želví grafika¶
Čísla
print(2 + 3) # scitani
print(2 * 5) # nasobeni
print(10 / 3) # desetinne deleni
print(10 // 3) # celociselne deleni
print((5 - 3) * (7 - 4)) # uzavorkovani
(numbers)
Proměnné
x = 2 # do promenne x prirad cislo 2
y = 5 # do promenne y prirad cislo 5
print(x + y) # spocitej a vypis soucet hodnot promennych x a y
(variables)
Opakování
# 5krat vypis retezec 'Hello!'
for i in range(5):
print('Hello!')
(loop)
Funkce
# definice funkce pro vypis obvodu ctverce,
# jehoz delka strany je 'side'
def print_square_perimeter(side):
perimeter = 4 * side
print(perimeter)
# volani funkce pro delky strany 50 a 100
print_square_perimeter(50)
print_square_perimeter(100)
(function)
Matematická knihovna
# z knihovny math importujeme funkci sqrt (odmocnina) a konstantu pi
from math import sqrt, pi
print(sqrt(4))
print(pi)
(math)
Želví grafika
from turtle import Turtle # import tridy Turtle pro zelvi grafiku
julie = Turtle() # vytvoreni nove zelvy jmenem julie
julie.forward(100) # popojdi dopredu o 100 px
julie.left(90) # zatoc doleva o 90 stupnu
julie.forward(50) # popojdi dopredu o 50 px
julie.right(135) # zatoc doprava o 135 stupnu
julie.forward(25) # popojdi dopredu o 25 px
(turtle_demo)
Pokud budete knihovnu turtle
využívat mimo online prostředí cvičebnice,
je potřeba ukončit kreslení funkcí done
:
from turtle import Turtle, done
julie = Turtle()
# kresleni ...
done()
1.1. Rozcvička¶
1.1.1. Jednoduché obrázky¶
Nejprve si zkuste nakreslit nějaký jednoduchý obrázek, třeba trojúhelník, nebo domeček.
from turtle import Turtle
julie = Turtle()
# TODO: trojuhelnik / domecek / cokoliv
1.1.2. Čtverec¶
Využijte for cyklus pro nakreslení čtverce o délce strany 100 pixelů.
from turtle import Turtle
julie = Turtle()
# TODO: vykresleni ctverce
1.1.3. Obecný čtverec¶
Napište funkci pro vykreslení čtverce s danou délkou strany.
from turtle import Turtle
julie = Turtle()
def square(side):
# nahradte "pass" vykreslenim ctverce o delce strany 'side'
pass
square(100)
Poznámka: příkaz pass
nic nedělá, pouze zastupuje tělo zatím
neimplementované funkce (díky tomu je program syntakticky správně).
1.1.4. Obecný pětiúhelník¶
Napište funkci pro vykreslení pravidelného pětiúhelníku s danou délkou strany.

from turtle import Turtle
julie = Turtle()
def pentagon(side):
pass
pentagon(100)
1.1.5. N-nožka¶
Napište funkci, která nakreslí stonožku se zadaným počtem článků.

from turtle import Turtle
julie = Turtle()
def centipede(n):
pass
centipede(7)
1.2. Pokročilé kreslení¶
1.2.1. Mnohoúhelníky¶
Napište obecnou funkci pro vykreslení libovolného pravidelného n-úhelníku.

from turtle import Turtle
julie = Turtle()
def polygon(n, side):
pass
polygon(3, 180)
polygon(5, 100)
1.2.2. Hvězdy¶
Napište obecnou funkci pro vykreslení hvězdy. Hvězda je zobecněním
pravidelného n-úhelníka, kde želva nenavštěvuje bezprostředně sousední vrcholy,
ale „přeskakuje“. Délka skoku je daná parametrem step
, ten je např. pro pro
první, pěticípou hvězdu roven 2 a pro druhou, sedmicípou hvězdu roven 3. Při
step = 1 půjde o n-úhelník.

from turtle import Turtle
julie = Turtle()
def star(n, step, side):
pass
star(5, 2, 100)
1.2.3. Diamant¶
Napište funkci pro vykreslení diamantu.

from turtle import Turtle
julie = Turtle()
def diamant(n, side):
pass
diamant(12, 30)
1.2.4. Spirála¶
Napište funkci pro vykreslení spirály.

from turtle import Turtle
julie = Turtle()
def spiral(n, angle, step):
pass
spiral(100, 61, 1)
1.2.5. Kružnice¶
Pomocí funkce pro mnohoúhelníky zkuste vykreslit kružnici. Pak napište funkci pro vykresleni kružnice o zadaném poloměru. (Nápověda: využijte porovnání obvodů kružnice a pravidelného n-úhelníku).
from math import pi
from turtle import Turtle
julie = Turtle()
julie.speed(10)
def circle(r):
pass
circle(90)
1.2.6. Kytky¶
Napište funkci pro vykreslení kytky. Může být užitečné si nejprve napsat pomocnou funkci pro vykreslení oblouku (kruhové výseče) o zadaném poloměru a úhlu.

from math import pi
from turtle import Turtle
julie = Turtle()
julie.speed(10)
def flower(radius, angle, leaves):
pass
flower(100, 80, 9)
1.2.7. Čtvercová spirála¶
Napište funkci pro vykreslení čtvercové spirály.

from turtle import Turtle
from math import atan, sqrt, degrees
julie = Turtle()
def square_spiral(n, size):
pass
square_spiral(10, 100)