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