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