Python 3 in želvja grafika

Za nekatere je suho programiranje v danem programskem jeziku morda dolgočasno. Motivacijo lahko dvigne uporaba grafike. Spomnimo se popularnega Praskača (Scratch), s katerim so nekateri naredili prve korake v programiranje celo še pred vstopom v osnovno šolo. Podobno včasih učijo začetniško programiranje v jeziku Logo. Za take jezike in orodja je značilna uporaba takoimenovane "želvje grafike".

Tudi v Pythonu imamo na voljo možnost risanja z želvjo grafiko. Najprej moramo uvoziti modul "turtle", potem pa uporabljamo metode, ki so bolj ali manj poznane iz podobnih orodij.
Na platno postavimo eno ali več "želv"(objektov razreda Turtle) in z njimi rišemo po platnu.


Prikazane primere lahko tudi spreminjamo in spet poženemo. Za večje spremembe pa je smiselno, da si kodo skopiramo na svoj računalnik in jo predelujemo v običajnem razvojnem okolju za Python.

Kot zgled poglejmo, kako lahko na ta način narišemo na platno kvadrat pri katerem je vsaka stranica druge barve:




Poglejmo, katere ukaze imamo še na voljo: In še nekaj zanimivih primerov:
Turtle(): Tvori nov objekt Turtle in vrne njegov naslov.

forward(vrednost): Želva se za podano vrednost premakne naprej.

backward(vrednost): Želva se za podano vrednost premakne nazaj.

right(kot): Želva se za podano vrednost kota obrne na desno.

left(kot): Želva se za podano vrednost kota obrne na levo.

penup(): Želva dvigne svoje pero, s katerim sicer pušča sled.

pendown(): Želva spusti na platno svoje pero, s katerim sicer pušča sled.

up(): Isto kot penup ().

down(): sIsto kot pendown ().

color(ime barve): Spremeni se barva črnila v peresu

fillcolor(ime barve): Barva za polnjenje naslednjega narisanega lika.

position(): Vrne trenutni položaj želve.

goto(x, y): Premik želve na koordinate x, y.

begin_fill(): Zapomni si to točko kot začetek polnega lika.

end_fill(): Zaključi lik (poligon) in ga pobarvaj.

dot(): Želva pusti na trenutnem položaju piko.

Shape(): Izberemo eno od podob želve: ‘turtle’ , ‘classic‘ , ‘arrow‘ ali ‘circle‘.

stamp(): Želva pusti na trenutnem položaju svoj odtis.

Primer rekurzije: risanje drevesa z vejami

Iteracije: Stavek for in gnezdene zanke

Iteracije: Stavek for - each, Risanje raznobarvnih krogov, lik želve

Primer s polnjenjem poligonov, risanjem pik...

Tekmovanje več želv od starta do cilja

Zanimiv vzorec, narisan s krogi različnih barv






Več dokumentacije o želvji grafiki s Pythonom

Skulpt may be licensed under:

  1. The MIT license.

  2. Or, for compatibility with Python, the PSFLv2.

Please note that this dual license only applies to the part of Skulpt that is included in the runtime, and not necessarily to surrounding code for build processing or testing. Tests are run using V8, and Closure Compiler, and some test code is taken from the tinypy and Python test suites, which may be distributed under different licensing terms.