28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

for n in range(2, 10):<br />

... for x in range (2, n):<br />

... if n % x == 0:<br />

... print n, ’egal cu’, x, ’*’, n/x<br />

... break<br />

... else:<br />

... # bucla s-a epuizat fara sa gaseasca un factor<br />

... print n,’este un numar prim’<br />

...<br />

2 este un numar prim<br />

3 este un numar prim<br />

4 egal cu 2 * 2<br />

5 este un numar prim<br />

6 egal cu 2 * 3<br />

7 este un numar prim<br />

8 egal cu 2 * 4<br />

9 egal cu 3 * 3<br />

4.5 Instrucţiunea pass<br />

Instrucţiunea pass nu execută nimic. Poate fi folosită atunci când este necesară prezenţa sintactică a unei instrucţiuni,<br />

fără ca aceasta să execute ceva:<br />

>>> while 1:<br />

... pass # Asteapta pentru intrerupere de la tastatura<br />

...<br />

4.6 Definirea funcţiilor<br />

Putem crea o funcţie care generează şirul lui Fibonacci până la o limită arbitrară:<br />

>>> def fib(n): # Scrie sirul lui Fibonacci pana la n<br />

... "Scrie sirul lui Fibonacci pana la n"<br />

... a, b = 0, 1<br />

... while b < n:<br />

... print b,<br />

... a, b = b, a+b<br />

...<br />

>>> # Folosim functia creata<br />

... fib(2000)<br />

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597<br />

Cuvântul cheie def este primul din definiţia unei funcţii. Acesteia trebuie să îi urmeze numele funcţiei şi, în<br />

paranteză, o listă de parametrii. Instrucţiunile care formează funcţia încep pe linia imediat următoare şi trebuie<br />

să fie distanţate mai mult decât antetul funcţiei faţă de margine. Prima instrucţiune din corpul funcţiei poate fi,<br />

opţional, un şir de caractere. Acest şir reprezentând documentaţia funcţiei (docstring = şirul de documentaţie al<br />

funcţiei). Există utilitare care generează documentaţie pornind de la aceste şiruri, deci este o practică bună să vă<br />

folosiţi de această facilitate.<br />

Execuţia unei funcţii crează o nouă tabelă de simboluri, folosită pentru variabilele locale. Altfel spus toate atribuirile<br />

din cadrul unei funcţii vor stoca valorile în tabela de simboluri locală. Atunci când interpretorul găseşte un<br />

nume de variabilă, întâi caută în tabela de simboluri locală, apoi în cea globală şi apoi în cea predefinită.<br />

Cu toate acestea variabilelor globale nu li se pot atribui valori în cadrul unei funcţii, decât dacă se foloseşte<br />

4.5. Instrucţiunea pass 21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!