Vaja

Logični izrazi

Matematični izrazi, kot so npr. 1 + 2 ali (3.7 - 2.6) / 5.4, so nam že precej domači. Pri programiranju pa nam pogosto pridejo prav tudi logični izrazi. Primera logičnih izrazov sta, denimo, 3 <= 4 in 5 > 9. Logični izraz ima samo dve možni vrednosti: resnico (True v pythonu) in neresnico (False v pythonu). Vrednost izraza 3 <= 4 je torej resnica, vrednost izraza 5 > 9 pa neresnica, saj število 5 ni večje od števila 9. Sledi še nekaj primerov:

>>> 2 <= 2
True
>>> 2 < 2
False
>>> 3 == 4
False
>>> 3 != 4
True


Vrednosti logičnih izrazov lahko shranjujemo v spremenljivke logičnega tipa (tip bool v pythonu):

>>> a = (2 < 1)
>>> b = (3 == 3)
>>> a
False
>>> b
True
>>> type(a)
<class 'bool'>
>>> type(b)
<class 'bool'>

Logične izraze lahko med seboj povezujemo z logičnimi operatorji and, or in not. Izraz a and b je resničen, samo če sta resnična podizraza a in b. Izraz a or b je resničen, če je vsaj eden od podizrazov resničen; neresničen je samo tedaj, ko sta oba podizraza neresnična. Izraz not a pa je resničen, če je podizraz a neresničen, in obratno.

Na primer vrednost izraza (3 <= 5) and (6 == 3) je enaka False, saj je prvi podizraz resničen, drugi pa neresničen. Vrednost izraza (3 <= 5) or (6 == 3) pa je enaka True.

Oglejmo si primer uporabe logičnih operatorjev. Leto je prestopno, če je deljivo s 400 ali pa če je deljivo s 4, vendar ne s 100. Zapišimo to pravilo v obliki programa prestopnoLeto.py. Spomnimo se, da je število a deljivo s številom b natanko tedaj, ko je ostanek pri deljenju a z b enak 0.

Izvedi Počisti