Podobno kot ima množenje prednost pred seštevanjem, ima tudi operator in
prednost pred operatorjem ali
, zato nam oklepajev v pogoju pri bloku če
ne bi bilo treba pisati. Operator ne
pa ima prednost pred obema.
Kakšne vrednosti imajo sledeči izrazi? Najprej odgovori, nato preveri!
ne (3 ≤ 5) ali (6 = 3) ne ((3 ≤ 5) in (6 = 3)) true ali (1 = 2) in false (true ali (1 = 2)) in false
Programiranje je človeško opravilo, ljudje pa smo zmotljivi. Napakam, ki se prikradejo v naše programe, pravimo hrošči. Izraz izvira še iz časov, ko so bili računalniki veliki kot omare. Nekoč je v enega od njih prilezel dejanski hrošč, ki je povzročil pregrevanje vezja in s tem napačno delovanje.
Hrošč ni nujno posledica neprevidnosti. Lahko pride do tega, da preprosto pozabimo na nek poseben primer, kot se nam je zgodilo pri programu za računanje povprečne hitrosti, ko nismo upoštevali (sicer neobičajne, a povsem smiselne) možnosti nočnega kolesarjenja:
Koliko km si prevozil(-a)? 10 Vnesi uro začetka: 23 Vnesi minuto začetka: 50 Vnesi uro konca: 0 Vnesi minuto konca: 20 Vozil(-a) si s povprečno hitrostjo -0.425531914893617 km/h.
Razhroščevanja (odpravljanja napak) se najlažje lotimo z vstavljanjem vmesnih izpisov. Pri našem programu bi lahko izpisali vrednost spremenljivke porabaCasaVMin
in bi hitro videli, da je nekaj narobe, saj bi bila negativna (glej program na desni, drugi blok delčkov).
Vmesni izpisi pridejo prav tudi pri pogojnih stavkih:
... | Python | |||
Smiselno postavljeni vmesni izpisi so izjemno močno programersko orodje, včasih pa nam vendarle koristijo posebni programi za razhroščevanje, ki nam omogočajo izvajanje programa po korakih, spremljanje vrednosti spremenljivk med izvajanjem, pa še marsikaj.