Biblioteke i generisanje nasumičnih brojeva
Monty Hall problem
Monty Hall problem
Uvod u funkcije
Uvod u funkcije
Uvod u funkcije
Uvod u funkcije
-
Funkcija: grupa naredbi unutar programa koje izvršavaju određeni zadatak
- izvršava se samo kada se pozove
- omogućava upotrebu istog koda na više mjesta u programu
- koristi se za strukturiranje programa
- Funkcijama se mogu proslijediti podaci
- parametri / argumenti
- Funkcije mogu vratiti podatke kao rezultat poziva
var = naziv_funkcije(arg1, arg2)
Ugrađene funkcije
- Python interpreter posjeduje funkcije koje su u njega ugrađene i koje su uvijek dostupne
-
nije potrebna komanda import
-
abs() | chr() | exec() | hex() | map() | print() | staticmethod() |
all() | classmethod() | filter() | id() | max() | property() | str() |
any() | compile() | float() | input() | memoryview() | range() | sum() |
ascii() | complex() | format() | int() | min() | repr() | super() |
bin() | delattr() | frozenset() | isinstance() | next() | reversed() | tuple() |
bool() | dict() | getattr() | issubclass() | object() | round() | type() |
breakpoint() | dir() | globals() | iter() | oct() | set() | vars() |
bytearray() | divmod() | hasattr() | len() | open() | setattr() | zip() |
bytes() | enumerate() | hash() | list() | ord() | slice() | __import__() |
callable() | eval() | help() | locals() | pow() | sorted() |
Python-ova standardna biblioteka
- Python-ova standardna biblioteka nudi širok spektar sredstava koja olakšavaju programiranje
- Biblioteka uključuje ugrađene:
- funkcije
- konstante
- tipove
- izuzetke
- Najveći dio biblioteke predstavljaju kolekcije modula
Modul
- Modul je datoteka koja sadrži Python-ove definicije i komande
- ima ekstenziju .py
Modul
Modul
Modul
Modul
Modul
- Sadržaj modula se može koristiti tek nakon njegovog uvoza u trenutni modul / REPL okruženje
- komanda import
- obično se stavlja na sam početak datoteke
- Varijanta import komande kojom se direktno uvoze nazivi (npr. funkcija) u trenutni modul koristi ključnu riječ from
- nije potrebno navoditi naziv modula prije upotrebe naziva funkcije
- moguć uvoz svih naziva upotrebom zvjezdice "*"
- Ključnom riječi "as" modulu se može dati nadimak / alias
Modul math
Modul math
-
Modul math: dio standardne biblioteke koji sadrži funkcije korisne za izvođenje različitih matematičkih operacija
-
Najčešće prima jednu ili više vrijednosti kao argumente, izvršava matematičku operaciju i vraća rezultat
-
Modul math
-
Modul math definiše varijable pi i e
-
Može se koristiti u formulama koja zahtijevaju ove vrijednosti da bi se dobio precizniji rezultat
-
povrsina_kruga = math.pi * r**2
Modul math
g = \frac{{v_0}^2}{R} \sin{(2\alpha)}
Modul math
r = \sqrt{x^2 + y^2}
\varphi = \arctan{\frac{y}{x}}
Nasumični brojevi
Nasumični brojevi
Nasumični brojevi
-
Generator pseudo-nasumičnih brojeva: je algoritam koji koristi matematičke formule kako bi proizveo niz brojeva čije osobine su približne nizu nasumičnih brojeva
- eng. Pseudorandom number generator - PRNG
- Sekvenca nije istinski nasumična jer je određena inicijalnom vrijednošću (eng. seed)
- Puni krug (eng. full cycle) je dužina sekvence koja je potrebna PRNG da se vrati u stanje inicijalne vrijednosti
- PRNG je deterministički proces
- može se reproducirati / nanovo proizvesti
- za istu inicijalnu vrijednost generiše istu sekvencu
Nasumični brojevi
-
Hardverski generator nasumičnih brojeva: je uređaj koji generiše nasumične brojeve na osnovu fizičkog procesa, a ne algoritma
- eng. Hardware random number generator - HRNG
- Naziva se i Generator stvarnih nasumičnih brojeva
- eng. True random number generator - TRNG
- Upotrebaljavaju se mikroskopski fenomeni koji generišu signale sa statistički nasumičnim šumom (eng. nosie)
- termalni šum
- fotoelektrični efekt
- Zbog efikasnosti često se upotrebljavaju za generisanje inicijalne vrijednosti PRNG-a
Modul random
- random: Python-ov modul koji implementira PRNG za razne distribucije
- cijeli brojevi - uniforman izbor iz raspona
- sekvence
- uniforman izbor nasumičnog elementa
- generisanje nasumične permutacije
- nasumično uzorkovanje bez zamjene
- realni brojevi - različite distribucije
- generisanje distribucija uglova
- Koristi Mersenne Twister kao osnovni generator
- Nije pogodan za upotrebu u oblasti računarske sigurnosti
Modul random
Modul random
Modul random
Modul random
Modul random
Modul random
Programiranje I - P05
By Elmedin Selmanovic
Programiranje I - P05
- 971