Ko te ujamejo matematični duhovi preteklosti

Komentiraj

Oh dear! Kača zaudarja po matematiki. In čisto malo tudi po fiziki. Boy, are we in trouble.

Ampak, preden se prestrašite, tako kot sem se jaz: obstaja pomoč. Ne reši čisto vseh matematičnih nočnih mor, pa vendarle. Kača nekaj že zna. Kar sama od sebe. Povedati ji je treba le, kje naj išče:

>>> from math import *

in ta-da, program kar naenkrat ve, kaj je sinus, kaj je cosinus, kaj pi in še kaj bi se našlo. Deluje menda tudi, če namesto zgornjega ukaza napišeš

>>> import math

vendar moraš v tem primeru nato v nadaljevanju vedno pisati math.nekaj (nekaj je seveda v tem primeru nekaj matematičnega – recimo sin, ki ni moški potomec svojih staršev). Hmmm. A to pomeni da si moram zapomnit oba?

Ampak! Drugo predavanje mi ni prineslo samo manipuliranja z matematičnimi simboli, temveč še eno menda ključno spoznanje: kača je toliko sofisticirana, da si določene zadeve rezervira. Prav ima – nikoli se ne ve, kdaj jih bo potrebovala. No, taka primera sta kot vse kaže if in else (me pa vseeno zanima, če bi se lahko našel se kakšen?), ki sta vedno lahko samo if in else, in vedno ko ju napišemo moramo za njimi napisati dvopičje, vse naslednje zadeve pa v naslednjih vrsticah in natanko štiri presledke zamaknjeno.

>>> if “p” in “programiranje”:

…          print True

…      else:

…          print False

True

Zakaj pišemo tako? Ne vem. Morda pa ni pomembno. Pomembno je, da mora besedi if slediti pogoj, ki je resničen. V nasprotnem primeru se koda (tako se menda reče vsem tem čačkam, ki jih pišemo v program – čeprav mojim iz spoštovanja do programerjev, ki vedo kaj delajo, raje pravim poskus) ne bo izvedla. In kaj se zgodi če se ne izvede? Kača se razjezi in te nahruli z rdečimi črkami, piči pa ne.

>>> for “k” in “programiranje”:
…          print True
Traceback (  File “<interactive input>”, line 1
SyntaxError: can’t assign to literal (<interactive input>, line 1)
>>>

Pa še malo jezikoslovja, da se bomo počutili malce bolj domače:

Vse zadeve, ki jih zamaknjeno pišemo pod if/else se imenujejo bloki. A-ha! Torej sta else in if  tista dva stanovalca, ki vedno pozabita ključe in nemočno stojita pred blokom.

Dovolj bo informacij. Grem pisat pogoje in ustvarjat nove poskuse računanja kotov, ki, da vam prihranim dve  uri mučenja, sprejemajo le radiane. Pa ravno jaz to pišem, učenka, ki je v šoli učiteljici ponosno povedala, da so stopinje pa je povsod dovolj dobra enota.

Ko-ko-ko-lkulator

Komentiraj

Surprise! Zelena kača zna računati. In to boljše kot jaz (no, ni da me je težko premagati, pa vendarle). Recimo, ve da je

>>> 3 + 6
9

in ve, da je

>>> (4. + 5.0)/ 4.0
2.25

Ammm… zakaj je pri prvi štirici decimalna pika, decimalke pa ni? A je isto če napišem (4 + 5)/4?

>>> (4 + 5)/4
2

Kaj?? Zakaj?

… …

… … …

… …

Wo-ho! Po pol ure premetavanja številk sem v profesorjevih izročkih modro pogledala par vrstic višje in našla odgovor:

če napišemo cela števila, potem računamo s celi števili, zaokroža pa se navzdol. Vedno. Pametna zelena kača ve kako to gre v resničnem svetu dohodkov. Če želimo točen rezultat pa moramo pač napisati tiste decimalne pike – pa čeprav za njimi ni nobene številke več.

OK, si bomo zapomnili. Zdaj pa grem reševat moj prvi ˝pravi˝ programerski problem, ki menda od mene zahteva uporabo funkcije. Upam, da ni govora o funkcijah v matematičnem smislu …

Let’s get this party started

Komentiraj

Še preden so na vrsti prva predavanja, ti profesor prijazno pošlje mail z navodili kaj in kako si moraš dolpotegnit , da bo imelo obiskovanje njegovega predmeta sploh kakšen smisel. In ta-da! Brez večjih, khm, skoraj brez večjih problemov si na mojo super mašino naložim … eno ikono. Ikono z zeleno kačo. Ki se smeji in kaže rdeč jezik. Mi je že všeč.

Hello world!

Komentiraj

Ko se izrazita družboslovka odloči, da bo spoznala osnove programiranja, je to že po definiciji razlog za katastrofo. Ali pa za dobro zabavo. V tem konkretnem primeru pa gre najbrž za kombinacijo obojega – moji poskusi programiranja me namreč hkrati neizmerno zabavajo in spravljajo ob živce.

Če pa ste pravi programerji, potem vas opozarjam, da vas bo nadaljnje branje teh zapisov po vsej verjetnosti hitro spravilo ob živce. Če pa se, tako kot jaz, ravnokar učite programiranja, vam bo morda koristilo – dobrih nasvetov sicer ne obljubljam, vendar pa vam zagotavljam, da se boste počutili bolje, če boste vedeli, da je poleg vas še nekdo, ki se mu o vsej tej zadevi sanja še malce manj kot vam.

Pa začnimo. Hello world!