Tõeväärtused
Tõeväärtus on üks Pythoni olulisematest andmetüüpidest. Inglise keeles minetatakse seda boolean tüübiks. Erinevalt varem õpitud andmetüüpidest nagu sõned ja arvud, saab tõeväärtusel olla vaid 2 erinevat väärtust.
Need 2 väärtust on Pythoni keeles True ja False. Eesti keelde tõlgituna tõene ja väär.
Tegemist on andmetüübiga, millega saame näiteks kirjeldada mingi väite kehtivust. Tõeväärtuseid saab kasutada selleks, et oma programmis või mängus teha mingeid otsuseid.
Näiteks võiks Angry Birds'i mängu programmeerimisel tarvis olla muutujat nimega lind_lendab, mille väärtuseks on True vaid sel juhul, kui lind on lennus. Kasutada võib sellist muutujat näiteks selleks, et kui ta väärtuseks on True, siis näidata lendava linnu animatsiooni ja False puhul paigal istuvat lindu.
Siin ka väike video teema kokku võtmiseks. :)
Operaatorid
Võrdlustehted arvudega
Üks koht, kus Pythonis tõeväärtusega kohtume, on arvude võrdlus. Siin tabelis on operaatorid, mida me teadma peaks.
| võrdlusoperaator koos näitega | tähendus |
|---|---|
| arv1 == arv2 | Kas kaks muutujat on võrdsed? |
| arv1 > arv2 | Kas arv1 on suurem kui arv2? |
| arv1 < arv2 | Kas arv1 on väiksem kui arv2? |
| arv1 >= arv2 | Kas arv1 on suurem või võrdne arvuga 2? |
| arv1 <= arv2 | Kas arv1 on väiksem või võrdne arvuga 2? |
| arv1 != arv2 | Kas kaks muutujat on erinevad? |
| 20 > arv > -5 | Kas arv jääb -5 ja 20 vahele? |
| -5 <= arv <= 20 | Kas arv jääb lõiku -5 kuni 20? |
Mõned näited Thonny käsurealt:
>>> 4 == 4
True
>>> 4 == 3
False
>>> 3 > 6
False
>>> 3 < 6
True
>>> 20 > 15 > -6
True
Võrdlustehted sõnedega
Väga sarnaselt on võimalik võrrelda ka sõnesid.
Ettevaatlik tuleb olla tähestikulise võrdlusega. Võrrelda ei tohi suuri ja väikeseid tähti läbisegi! Kui tahta tähestikuliselt midagi võrrelda, siis teisendada kõik sõned kas suurteks või väikesteks tähtedeks.
Sõnede pikkuse võrdlemiseks peame õppima veel selgeks ühe uue funktsiooni. See on len funktsioon. Andes sellele parameetriks mingi sõne, tagastab see sõne pikkuse, mida saame juba võrrelda nagu tavalist arvu.
| võrdlusoperaator koos näitega | tähendus |
|---|---|
| sõne1 == sõne2 | Kas kaks sõne on võrdsed? |
| sõne1 > sõne2 | Kas sõne1 on tähestikus taga sõne2-st? |
| sõne1 < sõne2 | Kas sõne1 on tähestikus ees sõne2-st? |
| sõne1 >= sõne2 | Kas sõne1 on võrdne või tähestikus taga sõne2-st? |
| sõne1 <= sõne2 | Kas sõne1 on võrdne või tähestikus taga sõne2-st? |
| sõne1 != sõne2 | Kas kaks sõne on erinevad? |
| "z" > sõne > "a" | Kas sõne jääb tähestikus sõne 1 ja sõne 2 vahele |
| "z" <= sõne <= a | Kas sõne jääb tähestikus sõne 1 ja sõne 2 vahele või on võrdne? |
Mõned näited Thonny käsurealt
>>> "a" < "b" < "d"
True
>>> "a" < "b" < "a"
False
>>> "karu" == "siil"
False
>>> "karu" == "karu"
True
>>> "a" < "a"
False
>>> "a" < "b"
True
>>> "a" < "B" #Nii mitte võrrelda! Ainult sama "suurusega" tähti!
False
>>> len("karu")
4
>>> len("karu") < len("sipelgasiil")
True
Kas ma näen topelt?
Kas tõesti on võrduse kontrollimisel kasutatud kahte võrdusmärki? Jah, on küll. Selle pead endale väga täpselt selgeks tegema, et kui on vaja kontrollida kahe muutuja või arvu võrdsust, siis tehakse seda topeltvõrdusmärgiga (==). Miks? Sest ühekordset võrdusmärki kasutatakse muutujatele andmete omistamisel. Muutujale väärtuse andmine ja võrduse kontroll on sellisele rauast kastile nagu arvuti kategooriliselt erinevad asjad, seepärast tuleb kasutada ka erinevaid märke.
= ja == segamini ajamine on programmeerijate (ka juba kogenud) üks kõige tavalisemaid vigu. Väga paljud programmeerimiskeeled kasutavad samasugust sümboolikat ja väga paljud programmeerijad kasutavad vale märki vales kohas. Ole siis hoiatatud!