Țestoasa este ca o planșetă de desen.
Are funcții ca turtle.forward(...)
și turtle.left(...)
, care pot mișca țestoasa.
Înainte de a utiliza țestoasa, aceasta trebuie importată. Îți recomandăm sa te joci cu ea în mod interactiv pentru început, deoarece va fi nevoie de cateva lucruri suplimentare pentru a o face să funcționeze din fișiere. Deschide un terminal și scrie:
import turtle
Note
Nu vezi nimic în MacOS? Încearcă să dai o comandă ca turtle.forward(0)` și să verifici dacă s-a deschis o fereastră nouă în spatele liniei de comandă.
Note
Utilizezi Ubuntu și primești mesajul “No module named _tkinter”? Instaleaza modulul lipsă cu sudo apt-get install python3-tk
Note
Deși ai putea fi tentat să copiezi pur și simplu ce este scris în această pagină în terminal, te încurajăm să scrii fiecare comandă. Scrierea îți aduce controlul sintaxei (construind memoria musculară!) și poate chiar să evite erori exotice de sintaxă.
turtle.forward(25)
turtle.left(30)
Funcția turtle.forward(...)
îi spune țestoasei să înainteze distanța specificată. turtle.left(...)
primește un număr de grade cu care vrei să se rotească la stânga. Există de asemenea turtle.backward(...)
și turtle.right(...)
.
Note
Vrei să începi din nou? Poți să scrii turtle.reset()
pentru șterge ce a făcut până acum turtle``(țestoasa). O să intrăm în detalii despre ``turtle.reset()
în scurt timp.
Țestoasa standard este un triunghi. Nu e prea drăguț! Hai să o transformăm într-o țestoasă cu comanda turtle.shape()
:
turtle.shape("turtle")
Mult mai drăguț!
Dacă pui comenzile într-un fișier, poate ai observat că fereastra cu țestoasa dispare după ce țestoasa și-a terminat mișcarea. (Asta deoarece Python se închide după ce țestoasa și-a terminat mișcarea. De vreme ce fereastra țestoasei aparține Pyhon, și aceasta se închide.) Pentru a evita asta, adaugă turtle.exitonclick()
la sfârșitul fișierului tău. Acum fereastra rămâne deschisă pâna cand apeși un buton în ea:
import turtle
turtle.shape("turtle")
turtle.forward(25)
turtle.exitonclick()
Note
Python este un limbaj de programare în care indentarea textului este importantă. O să învățăm despre asta în continuare în capitolul Funcții, dar pentru acum trebuie să reții că spațiile suplimentare sau caracterele tab în fața oricărei linii de cod Python pot genera erori.
Note
Nu trebuie neapărat să știi de fiecare dată răspunsul din prima! Învață prin încercări repetate! Experimentează, vezi cum reaționează python la diverse comenzi, ce generează rezultate frumoase (deși uneori neașteptate) și ce generează erori. Dacă vrei să te joci în continuare cu ceva ce ai învățat și dă rezultate interesante, este în regulă. Să nu îți fie frică să încerci și să greșești și să înveți din asta!
Desenează un pătrat ca în figura următoare:
Pentru un pătrat probabil vei avea nevoie de un unghi drept, care este de 90 de grade.
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
Note
Observă cum țestoasa începe și termină în același loc și cu aceeași orientare la desenarea fiecărui pătrat. Aceasta este o convenție utilă, care ușurează desenarea mai multor forme consecutive.
Dacă vrei să fii creativ, poți modifica forma cu funcțiile turtle.width(...)
și turtle.color(...)
. Cum utilizezi aceste funcții? Înainte de a utiliza o funcție trebuie să îi cunoști semnătura (de exemplu numărul de parametri și semnificația lor). Pentru a putea afla asta poți să scrii help(turtle.color)
în consola interactivă Python. Dacă este prea mult text, Python o să pună documentația într-un pager, care îți permite să derulezi pagini sus si jos. Apasă tasta q
pentru a ieși din pager.
Tip
Primești o eroare ca:
NameError: name 'turtle' is not defined
atunci când vrei să vezi documentația? În Python trebuie să imporți numele înainte de a le utiliza, așa că într-o consolă interactivă nouă va trebui să dai comanda import turtle
înainte ca help(turtle.color)
să funcționeze.
O altă cale pentru a învăța despre funcții este consultarea online documentation.
Caution
Dacă ai desenat ceva greșit, poți să îi spui țestoasei să șteargă desenul cu directiva turtle.reset()
sau să anulezi ultimul pas cu turtle.undo()
.
Tip
După cum e posibil să fi citit în documentație, poți modifica culoarea cu turtle.color(colorstring)
. Valorile includ dar nu sunt limitate la “red” (roșu), “green”(verde), și “violet”(violet).
Poți să desenezi un dreptunghi?
turtle.forward(100)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
Dar un triunghi? Într-un triunghi echilateral (un triunghi cu laturile egale) fiecare colț are un unghi de 60 de grade.
Acum, desenează un pătrat înclinat. Și încă unul, și încă unul. Poți experimenta cu unghiurile între pătrate.
În imagine sunt trei întoarceri de 20 de grade. Poți încerca, de exemplu, 20, 30 și 40.
turtle.left(20)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.left(30)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.left(40)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)