User manual
14
Kako nastajajo naključna števila?
Pogosto velja mnenje, da se v programu ne more nič naključno zgoditi. Kako lahko ima torej
program sposobnost generiranja naključnih števil? Če veliko praštevilo delite s kakršnokoli
vrednostjo, se po X-tem decimalnem mestu pojavijo števila, ki jih je komajda še možno
predvideti. Ta se tudi spreminjajo brez kakršnekoli rednosti, ko delitelj redno povečujemo. Ta
rezultat je sicer dozdevno naključen, vendar pa ga je možno z identičnim programom ali z
večkratnim priklicem istega programa kadarkoli reproducirati. Če pa sedaj vzamemo število,
ki je sestavljeno iz nekaterih od teh številk, in ga spet delimo s številom, ki je rezultat
trenutne sekunde prikaza časa ali vsebine poljubnega mesta pomnilnika računalnika, dobimo
rezultat, ki ga ni možno reproducirati, zato mu pravimo naključno število.
tipp = 0
Spremenljivka tipp kasneje vsebuje število, ki ga vtipka uporabnik. Na začetku je 0.
i = 0
Spremenljivka i se je med programerji uveljavila kot števec za prehode programske zanke.
Tukaj se uporablja za štetje poskusov ugibanja, ki jih je uporabnik potreboval za ugotavljanje
skritega števila. Tudi ta spremenljivka se na začetku nahaja na 0.
while tipp != zahl:
Beseda while (angleško za »dokler«) uvede programsko zanko, ki se v tem primeru tako
dolgo ponavlja, dokler je tipp (število, ki ga vtipka uporabnik) neenak skritemu številu zahl.
Python uporablja kombinacijo != za neenako. Za dvopičjem sledi dejanska programska
zanka.
tipp = input("Vaše ugibanje:")
Funkcija input napiše besedilo Vaše ugibanje:, nato pa pričakuje vnos, ki se shrani v
spremenljivki tipp.
Zamiki so pomembni v Python
Pri večini programskih jezikov so programske zanke ali odločitve zamaknjene, tako da je
programska koda preglednejša. V Python ti zamiki ne služijo samo preglednosti, temveč so
tudi obvezno potrebni za programsko logiko. Zato pri tem niso potrebna posebna ločila za
zaključitev zank ali odločitev.
if zahl < tipp:
Če je skrito število zahl manjše od števila tipp, ki ga je vtipkal uporabnik, potem ...
print "Iskano število je manjše od ",tipp
... je prikazano to besedilo. Na koncu se tukaj nahaja spremenljivka tipp, da je vtipkano
število prikazano v besedilu. Če ta pogoj ne velja, se zamaknjena vrstica enostavno
preskoči.
if tipp < zahl:
Če je skrito število zahl večje od števila tipp, ki ga je vtipkal uporabnik, potem ...
print "Iskano število je večje od ",tipp
... je prikazano drugo besedilo.
i += 1
V vsakem primeru – zato tudi ni več zamaknjen – se števec i, ki šteje poskuse ugibanja,
poveča za 1. Ta vrstica z operatorjem += pomeni isto kot i = i + 1.