p p - naslovnica | pmf - matematički odsjek · pdf fileprogramski jezik python. title:...

32
P P Marina Šepovalov & Valentina Bratkovi´ c PMF-Matematiˇ cki odjel Sveuˇ cilište u Zagrebu Zagreb, svibanj 2007. Marina Šepovalov & Valentina Bratkovi´ c PMF-MO Programski jezik Python

Upload: doannguyet

Post on 15-Feb-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

P P

Marina Šepovalov&

Valentina Bratkovic

PMF-Matematicki odjelSveucilište u Zagrebu

Zagreb, svibanj 2007.

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 2: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

S

1 O Pythonu2 Debugging3 Prvi program4 Operatori i operandi5 Funkcije6 Uvjeti i rekurzije7 Iteracija8 Stringovi9 Liste

10 Rjecnici11 Klase12 Surprise13 Literatura

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 3: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

1. O P-

1990.godine Guido van Rossum

izmedu tradicionalnih skriptnih jezika (Tcl, Shema, Perl) isistemskih jezika (C, C++, Java)

Python kôd :shell modescript mode

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 4: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

1. O P-

1990.godine Guido van Rossum

izmedu tradicionalnih skriptnih jezika (Tcl, Shema, Perl) isistemskih jezika (C, C++, Java)

Python kôd :shell modescript mode

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 5: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

1. O P-

1990.godine Guido van Rossum

izmedu tradicionalnih skriptnih jezika (Tcl, Shema, Perl) isistemskih jezika (C, C++, Java)

Python kôd :shell modescript mode

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 6: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

2. D

greške u programu...bugs

proces traženja grešaka...debugging

GREŠKE :u sintaksiprilikom izvodenja programasemanticke

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 7: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

3. P P

Hello, World!!

usporedba s C-om:

C

#include<stdio.h>int main (void)printf (" Hello, World!!n ");scanf ("%%");return 0;

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 8: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

3. P P

Hello, World!!

usporedba s C-om:

C

#include<stdio.h>int main (void)printf (" Hello, World!!n ");scanf ("%%");return 0;

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 9: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

3. P P

Hello, World!!

usporedba s C-om:

C

#include<stdio.h>int main (void)printf (" Hello, World!!n ");scanf ("%%");return 0;

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 10: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

4. O I O4.1. R O

6 temeljnih operacijapotenciranje 5**2==25množenje 2*3==6dijeljenje 14/3==4modulo 14%3==2zbrajanje 1+2==3oduzimanje 4-3==1

PEMDAS : P-parentheses (), E-exponentiation **,M-multiplication *, D-division /, A-addition +, S-subtraction -

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 11: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

4. O I O4.1. R O

6 temeljnih operacijapotenciranje 5**2==25množenje 2*3==6dijeljenje 14/3==4modulo 14%3==2zbrajanje 1+2==3oduzimanje 4-3==1

PEMDAS : P-parentheses (), E-exponentiation **,M-multiplication *, D-division /, A-addition +, S-subtraction -

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 12: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

4. O I O4.2. O S N

+ predstavlja spajanje nizovaprimjer

Što * radi sa stringovima?primjer

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 13: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

4. O I O4.2. O S N

+ predstavlja spajanje nizovaprimjer

Što * radi sa stringovima?primjer

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 14: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

5. F

Matematicke funkcije

module = datoteka koja sadržava skup funkcija

pozivanje :import mathprint math._

pozivanje pojedinacne funkcije :from math import sin,cos

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 15: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

5. F

Definiranje novih funkcija

sintaksa :def IME (lista parametra):naredbe

primjer- faktorijele

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 16: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

6. U I R6.1. L V I I

true & false

operatori :x==yx!=yx>yx<yx>=yx<=y

3 logicka operatora : and, or, not

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 17: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

6. U I R6.2. N if

naredba uvjetnog grananja-if

opci oblik :

1.

if uvjet:naredba 1

2.

if uvjet:naredba 1elsenaredba 2

3.

if uvjet 1:naredba 1elif uvjet 2:naredba 2else naredba 3

primjer-parnost broja

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 18: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

6. U I R6.3. N return

dopušta završavanje izvršenja funkcije prije dosegnuca kraja

otkrivanje greške u uvjetu

primjer-fibonacci

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 19: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

7. I7.1. N () while

dok god je uvjet ispunjen, izvršava se niz naredbi u tijelunaredbe while

beskonacna petlja :while 1=1print ”Help!”

izlaz : ctrl + C

primjer-lozinka

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 20: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

7. I7.2. T

petlje ... izrada tablicnih podataka

/t - oznaka za tabulator

znakovi u pythonu :backslash (kosa crta ulijevo)jednostruki navodnikdvostruki navodnikbackspaceform feed,nova stranicanewline,nova linijacarriage return,skok u novi redvertikalni tabulator

primjer-log2x

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 21: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

7. I7.3. V P

složeni tip podataka

niz indeksiranih varijabli istog tipa

u memoriji na uzastopnim lokacijama

primjer-višedimenzionalna polja

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 22: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

8. S8.1. O O S

niz-spremnik clanova koji se indeksiraju ili dohvacajune-negativnim cijelim brojevima

3 ugradene vrste nizova za stringoveobicnen-terceliste

string-poredan skup znakova koji se koriste za skladištenje ipredstavljanje podataka na tekstovnoj bazi duljinaniza-funkcija len

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 23: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

8. S8.2. P

operator S[i] vraca element i u nizu S

operator [n:m] vraca dio stringa od n-tog do m-tog znakaukljucujuci n-ti i iskljucujuci m-ti clan

operator in provjerava da li je neki niz podniz nekog drugogniza

proba

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 24: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

9. L9.1. O P, O, F

lista-promjenjiv poredani niz clanova objekata

nabrajanjem clanova, odijeljenih zarezima i smještenih unutaruglatih zagrada

prazna lista-prazan par uglatih zagrada

funkcija list()-generiranje listi

operacije nad listama:S[i]=v pridruživanje clana na i-tom mjestuS[i:j]=t pridruživanje skupini clanovadel S[i] brisanje clanadel S[i:j] brisanje skupine clanova

primjer-lista

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 25: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

9. L9.2. L I P for

sintaksa :for ime_varijable in ime_liste:tijelo petlje

primjer-prosti i složeni brojevi

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 26: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

9. L9.3. M

prikaz matrica-ugnježdene liste (liste unutar liste)

primjer : matrix=[[1,2,3],[4,5,6],[7,8,9]]

lista s 3 elementa, svaki element liste je redak matrice

primjer-test znanja

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 27: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

10. R

preslikavanje (engl.mapping)-skup objekata indeksiranih spomocu gotovo slobodnih vrijednosti-kljucevi

python-rjecnicka vrsta (engl.dictionary)

kljucevi-razliciti, jednoznacni tipovi

vrijednosti-razliciti tipovi

clan : par kljuc/vrijednost

tvorba rjecnika:niz parova kljuc:vrijednost odvojenih zarezima,smješteniunutar viticastih zagradafunkcija dict()

primjer-telefonski imenik

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 28: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

11. K11.1. K I O

Složeni tipovi podataka koje korisnik sam definiraKako definirati tocku?

class Tocka:pass

» t=Tocka()» t.x=3.0» t.y=4.0

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 29: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

11. K11.1. K I O

Pravokutnik1 centar i velicine pravokutnika2 jedan kut i velicinu3 dva suprotna kuta

* donji lijevi kut i velicinu

class Pravokutnikpass

primjer:» box=Pravokutnik()» box.širina=100.0» box.visina=200.0

primjer-centar pravokutnika

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 30: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

11. K11.2. K I F

Vrijeme

class Vrijemepass

funkcija def zbroji_vrijeme( , )

primjer-zbroj vremena1Što ako je suma sekundi,minuta > 60 i suma sati > 24???

odgovor-zbroj vremena2

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 31: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

12. S

klikni :-)

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python

Page 32: P P - Naslovnica | PMF - Matematički odsjek · PDF fileProgramski jezik Python. Title: Programski jezik Python Author: Marina epovalov & Valentina Bratkovic Created Date: 5/17/2007

13. L

1 http://www.vex.net/parnassus

2 http://www.python.org

3 http://wiki.python.org/moin/BeginnersGuide

4 http://en.wikibooks.org/wiki/Non-Programmer’s_Tutorial_for_Python/Contents

5 http://swaroopch.info/text/Byte_of_Python:Main_Page

6 http://www.ibiblio.org/obp/thinkCSpy

Marina Šepovalov & Valentina Bratkovic PMF-MO

Programski jezik Python