Operatori poređenja


Da bismo prethodni primer mogli da uradimo u Pajtonu, potrebni su nam operatori poređenja. Operatori poređenja, kako im samo ime kaže, služe za upoređivanje dve vrednosti. To su sledeći operatori:

1. == (jednako) je operator koji proverava da li su vrednosti sa leve i desne strane operatora jednake

2. != (različito) je operator koji proverava da li su vrednosti sa leve i desne strane operatora različite

3. < (manje od) je operator koji služi za proveru da li je vrednost na levoj strani manja od vrednosti na desnoj strani

4. > (veće od) je operator koji služi za proveru da li je vrednost na levoj strani veća od vrednosti na desnoj strani

5. <= (manje ili jednako) je operator koji služi za proveru da li je vrednost na levoj strani manja ili jednaka od vrednosti na desnoj strani

6. >= (veće ili jednako) je operator koji služi za proveru da li je vrednost na levoj strani veća ili jednaka od vrednosti na desnoj strani

Rezultat primene ovih operatora može imati vrednost "tačno" (True) ili "netačno" (False).


True i False


Svaki izraz u kome se koriste operatori poređenja ima logičku vrednost : ako je izraz tačan, ima logičku vrednost True, a ako je netačan logičku vrednost False.


Operator ==

  
print (2==3)
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> False

Dakle, ovde se upoređuje da li je vrednost na levoj strani jednaka sa vrednošću na desnoj, odnosno upoređuju se brojevi 2 i 3. Kako oni nisu jednaki, logička vrednost ovog izraza bice NETAČNO, odnosno False.

Operator <

  
print (2<3)
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> True

Pitamo se da li je broj 2 manji od broja 3. Logička vrednost ovog izraza je TAČNO, odnosno True, jer je broj 2 manji od broja 3.

Logički operatori


Logički operatori omogućavaju da se usmerava tok izvršavanja programa. Postoje 3 logička operatora i to su operatori: and (i) , or (ili) i not (ne).


Operator and


Operator and je logički operator čiji rezultat izvršavanja ima logičku vrednost True samo ako oba izraza sa leve i desne strane operatora and imaju logičku vrednost True. Inače, rezultat izvršavanja ima logičku vrednost False. Ovo možemo predstaviti sledećom tabelom:


x y x and y
True True True
True False False
False True False
False False False

Operacija koja se izvršava primenom operatora and, zove se konjukcija.

Pri izvršavanju programa, operatori poredenja (=, !=, <, >, <=, >=) imaju prednost u odnosu na operator and.


  
print (5<7 and 8==6+2)
print (1+1==2 and 3>=5)
print ("leto" == "sunce" and True)
print ("Sunce" == "sunce" and "More" == "more")
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> True
>> False
>> False
>> False

Ovim primerima smo pokazali kako se operator and primenjuje nad iskazima koji imaju različite logičke vrednosti, baš kao što je bilo prikazano u tabeli.

Operator or

Operator or je logički operator čiji rezultat izvršavanja ima logičku vrednost False samo ako oba izraza sa leve i desne strane operatora and imaju logičku vrednost False. Inače, rezultat izvršavanja ima logičku vrednost True. Sledeća tabela ilustruje primenu operatora or:


x y x or y
True True True
True False True
False True True
False False False

Operacija koja se izvršava primenom operatora or, zove se disjunkcija.


Pri izvršavaju programa, operatori poređenja (=, !=, <, >, <=, >=) imaju prednost u odnosu na operator or.

  
print (10!=11 or 3<=2+1)
print ("ja sam dobar ucenik"!="ja volim fudbal" or 8>9)
print (False or 5+5==10)
print ("divan dan"=="pada kisa" or "toplo vreme"=="pada sneg")
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> True
>> True
>> True
>> False


Ovim primerima smo pokazali kako se operator or primenjuje nad izrazima koji imaju razlicite logicke vrednosti, baš kao što je bilo prikazano u tabeli.

Operator not

Operator not je logički operator koji se primenjuje nad samo jednim izrazom. Ukoliko taj izraz ima logičku vrednost True, primenom operatora not, logička vrednost izraza postaje False. U suprotnom, ako je logička vrednost izraza False, primenom operatora not, logička vrednost izraza postaje True. U suštini, operator not predstavlja negaciju izraza.

Način delovanja operatora not predstavljen je u tabeli:


x not x
True False
False True

Operacija koja se izvršava primenom operatora not, zove se negacija.


Pri izvršavaju programa, operatori poredenja (=, !=, <, >, <=, >=) imaju prednost u odnosu na operator or.

  
print (not 2**3==8)
print (not "Pajton"=="pajton")
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> False
>> True


Ovim primerima smo pokazali kako se operator not primenjuje nad izrazima koji imaju različite logičke vrednosti, baš kao što je bilo prikazano u tabeli.

Redosled izvršavanja operatora: and, or i not


U Pajtonu možemo imati složene izraze, koji sadrže više od jednog logičkog operatora. Zbog toga je potrebno da znamo koji je redosled izvršavanja tih operatora. Najpre se izvršava operator not, potom operator and i najzad operator or. Ako se pored ovih operatora u izrazu nalaze zagrade (), prvo se izvršavaju operacije u zagradama, pa se potom izvršavaju operatori redosledom koji smo naveli.

1) not
2) and
3) or

Na sledećim slikama ilustrovan je ovaj redosled.

Prva slika: Izvršava se operator not (crvena boja). Potom se izvršava operator and (žuta boja) i najzad operator not (zelena boja).


slika

Druga slika: "False or False" nalazi se u zagradama i zato se prvo izvršava (crvena boja). Dalje se izvršava po navedenom redosledu.


slika