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 i in reversed(xrange(1,10,2)):<br />

... print i<br />

...<br />

9<br />

7<br />

5<br />

3<br />

1<br />

Pentru a bucla o secvenţă în ordine sortată, se foloseşte funcţia sorted(), care returnează o nouă listă sortată,<br />

dar sursa rămâne nealterată.<br />

>>> basket = [’apple’, ’orange’, ’apple’, ’pear’, ’orange’, ’banana’]<br />

>>> for f in sorted(set(basket)):<br />

... print f<br />

...<br />

apple<br />

banana<br />

orange<br />

pear<br />

5.7 Mai multe despre condiţii<br />

Condiţiile folosite în cadrul instrucţiunilor while sau if pot conţine şi alţi operatori decât cei de comparaţie.<br />

Operatorii de comparaţie in şi not in verifică dacă o anumită valoare se află sau nu într-o secvenţă dată.<br />

Operatorii is şi is not verifică dacă două obiecte sunt de fapt unul şi acelaşi obiect, acest lucru contează în<br />

cazul obiectelor modificabile cum sunt listele, de exemplu.<br />

Operatorii de comparaţie pot fi combinaţi. De exemplu a < b == c testează întâi dacă a < b iar apoi dacă b<br />

este egal cu c.<br />

Condiţiile pot avea structuri foarte complexe dacă sunt folosiţi operatorii and, or sau not. Operatorii de comparaţie<br />

au aceeaşi prioritate care este mai mică decât aceea a operatorilor numerici. Operatorii logici, booleeni,<br />

and,or,not au cea mai mică prioritate, mai mică decât aceea a operatorilor de comparaţie. Cea mai mare<br />

prioritate între operatorii logici o au not, apoi and, iar cea mai mică or. În concluzie “A and not B or<br />

C” este echivalent cu “A and (not B) or C”. Bineînţeles, pentru claritate, puteţi folosi paranteze pentru a<br />

combina condiţiile şi.<br />

Operatorii logici mai sunt denumiţi şi operatori “pe scurtătură” (shortcut operator), argumentele acestea sunt<br />

evaluate de la stânga la dreapta, şi evaluarea se opreşte odată ce rezultatul este determinat. De exemplu dacă A şi<br />

C sunt adevărate, iar B fals, expresia A and B and C nu este evaluată până la sfârşit, deci expresia C nu este<br />

evaluată pentru că ar fi inutil.<br />

Este posibilă atribuirea unei valori rezultate dintr-o comparaţie, sau orice altă condiţie, unei variabile:<br />

>>> string1, string2, string3 = ’’, ’Trondheim’, ’Hammer Dance’<br />

>>> non_null = string1 or string2 or string3<br />

>>> non_null<br />

’Trondheim’<br />

Spre deosebire de C, în <strong>Python</strong> nu sunt permise atribuirii în cadrul expresiilor. Programatorii de C pot critica acest<br />

lucru, dar prin aceasta se evită o mulţime de erori întâlnite în programele C, de exemplu = în loc de ==.<br />

5.7. Mai multe despre condiţii 35

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

Saved successfully!

Ooh no, something went wrong!