Python Fundamentals - 5
Silviu Ojog
Recapitulare
• Ce am făcut data trecută?
Silviu Ojog
Operatori logici
• Cu operatorii logici combinăm valori boolean sau
expresii din care rezultă valori boolean.
• Cu operatorii logici, de asemenea, negăm o valoare
boolean.
• Operatorii logici sunt:
or partea din stânga sau dreapta trebuie să fie True
Silviu Ojog
and partea din stânga şi dreapta trebuie să fie True
not True devine False, iar False devine True
Operatorul "and" (și)
a b Rezultat
0 0 0
0 1 0
1 0 0
1 1 1 Silviu Ojog
• Adevărat când ambele sunt adevărat
Operatorul "and" (și)
• Ambele părţi trebuie să aibă valoarea True
16 < 29 and 5 > 3 e 16 < 15 and 5 > 3 se
Tru Fal
16 < 29 and True e 16 < 29 and False se
Tru Fal
Silviu Ojog else
x == 3 and y == 5 Tru
e x == 3 and y == 5 FaFla
s
pentru x = 3 şi y = 5 pentru x = 4 şi y = 6
Operatorul "or" (sau)
a b Rezultat
0 0 0
0 1 1
1 0 1
1 1 1 Silviu Ojog
• Adevărat când cel puțin una este adevărată
Operatorul "or" (sau)
• Cel putin o parte trebuie să aibă valoarea True
16 < 29 or 5 > 3 e 16 < 15 or -5 > 3 se
Tru Fal
16 < 29 or True e 16 < -29 or False se
Tru Fal
Silviu Ojog else
x == 3 or y == 5 Tru
e x == 3 or y == 5 FaFla
s
pentru x = 3 şi y = 5 pentru x = 4 şi y = 6
Operatorul "not" (și)
a not a
0 1
1 0
• Neagă valoarea booleană Silviu Ojog
Operatorul "not" (și)
• Neagă valoarea booleană
not 3 > 5 Tru
e not 3 < 5 al se
F
not False Tru
e not True al se
F
Silviu Ojog
not not 3 < 5 Tru
e not not 3 > 5 al se
F
Bool Operators
Ce se printează:
print(not (True and False) or (not True and False))
Silviu Ojog
Bool Operators
Ce se printează:
print(not (True and False) or (not True and False))
R:
True
# not (False) or False
# True or False Silviu Ojog
Bool Operators
Ce se printează:
A = True
B = False
print(not (A or B) == not A and not B)
Silviu Ojog
Bool Operators
Ce se printează:
A = True
B = False
print(not (A or B) == not A and not B)
R:
True
# not (True) = not True and not False Silviu Ojog
# False == False
Asignare
Care expresie nu este corectă:
a) a += b însemnă a = (a + b)
b) a *= b însemnă a = (a * b)
c) a %= b însemnă a = (a % b)
d) a != b însemnă a = (a ! b)
Silviu Ojog
Asignare
Care expresie nu este corectă:
a) a += b însemnă a = (a + b)
b) a *= b însemnă a = (a * b)
c) a %= b însemnă a = (a % b)
d) a != b însemnă a = (a ! b)
Silviu Ojog
Exercițiul cu bancnote
• Creaţi un program în care utilizatorul va insera o sumă întreagă.
• Programul trebuie să calculeze şi să afişeze numărul
corespunzător de bancnote, unde în program sunt definite
bancnotele cu valorile: 10, 5, 2 şi 1
Silviu Ojog
•
Exercițiul cu XoY
• În cadrul programului este definită o suprafata in cadranul
XoY: x0,y0,width şi height.
• Utilizatorul introduce coordonatele userx (x2) şi usery (y2)
în program, iar programul afişează True dacă punctul se
găseşte în cadrul suprafetei definite sau False dacă se
găseşte în afara acesteia.
Silviu Ojog
•
Operatorul "is" (identitate)
• Operatorul Identity verifică dacă ambii operanzi se
găsesc la aceeaşi adresă de memorie:
[1,2,3]
a = [1,2,3] valorile Y
sunt identice
b = [1,2,3]
print(a == b)
print(a is b)
adres
ele nu [1,2,3] Silviu Ojog
sunt i
denti ce X
Operatorul "in" (membership)
• Verifică dacă o dată se găseşte într-o colecţie de
date
arr = [1,2,4,5] arr = [1,2,4,5]
print(3 in arr) print(4 in arr)
False, pentru că True, pentru că
numărul 3 nu există numărul 4 există în
în colecţie colecţie Silviu Ojog
Exercițiul cu parola
• În cadrul programului sunt definite variabilele: db_username
şi db_password.
• Utilizatorul introduce numele de utilizator şi parola.
• La ieşire se afişează True dacă numele de utilizator şi parola
corespund celor din program sau False dacă acestea nu
corespund.
Silviu Ojog