STRELA X MENI
Tule se imamo pomeniti kup stvari. Opazili ste pojav praznih vrstic. Ničesar ne pomenijo. Dodajam jih lahko, kjer in kakor se mi zahoče. Njihov namen je narediti program preglednejši. Tule so trije ločeni bloki - prvi je samo uvoz matematičnih funkcij, drugi branje podatkov, tretji izračun in izpis. Ne bo vedno tako. Ko bomo bolj vešči programiranja, praznih vrstic ne bomo sejali tako na gosto, kot zgoraj., predvsem pa bloki v resničnih programih ne bodo tako kratki - tole je bolj za začetnike. Program si razbijte po lastnem okusu.
STRELA X MENI
Besedi if mora vedno slediti pogoj in nato dvopičje (to je tisto, zaradi česar je Python tako iz sebe, če za ifom napišemo enačaj). Koda (del programa), ki mu sledi, se bo izvedla le, če je pogoj resničen. Sicer pa ne. V našem primeru to pomeni, da bo Python izračunal, koliko predaleč je letela krogla (prevec) in izpisal sporočilo o tem, le, če bo razdalja večja kot zelena_razdalja. if-u sledi tudi else, ki poskrbi za prekratke strele. V resnici else niti ni nujen in ga izpustimo, kadar v nasprotnem primeru nimamo kaj povedati, kot, recimo, če bi zastavili konec programa takole:print("Kroglo bo odneslo", s, "metrov")if razdalja > zelena_razdalja: print("Hu, to je bilo pa res daleč!")
Operator not ima prednost pred and, and pa pred or. Spet si lahko pomagamo z oklepaji: a or b and c pomeni isto kot a or (b and c) bo resničen (True), če je resničen a ali pa sta resnična b in c. Izraz (a or b) and c pa bo resničen, če sta resnična a ali b (ali oba), poleg tega pa nujno še c. Pri tem seveda predpostavljamo, da a, b in c vsebujejo logične vrednosti.
Kot občasno počnem, naj storim tudi ob tem času, namreč omenim druge jezike: večina tega je enaka v vseh jezikih. Za različnost imajo namesto != nekateri . Namesto and, or in not imajo mnogi jeziki &&, in !. V Pythonu so se odločili za "besedne" variante, da so programi zračnejši.
Short-circuit behaviour, lahko bi ga prevedli kot kratkostično vedenje, v programskih jezikih pomeni, da po bližnjici steče izvajanje programa. Pri tem navadno ni ne bliskanja ne smradu, ker je takšno vedenje zaželeno. Za primer poglejmo malo spremenjeni gornji izraz: kako bi se računala vrednost (10
Študent pa se najbrž že sprašuje: me to res briga? Računalnik naj računa kar in kolikor hoče, meni je pomembno samo, da bo na koncu naračunal prav. V resnici je tako: če kratkega stika ne poznamo, nam ne bo nič hudega. Če ga, pa nam lahko pride prav. Poglejmo tale program, ki vpraša po številu psov in mačk. Kadar je psov vsaj dvakrat toliko kot mačk, bo rekel, da je psov veliko več. In obratno, če je mačk vsaj dvakrat toliko kot psov, bo povedal, da imamo veliko več mačk.
(Nek študent me je (pravilno!) opozoril, da program še pred "Bum." izpiše "Predaleč, predaleč" ali "Preblizu, preblizu", tudi, kadar zadanemo cilj. Naj ostane, kot je, da ga ne bomo še bolj podaljševali. Za vajo pa naj ga študent sam popravi, na dva načina: eden je, da pred if doda še en if, drugi pa, da spremeni zanko tako, da while abs(zelena_razdalja - razdalja) > 0.001 zamenja z while True in potem nekje v zanki uporabi break, o katerem govorijo zapiski čez štirinajst dni.) 041b061a72