Escolar Documentos
Profissional Documentos
Cultura Documentos
Python minicourse
Raunalne mree i usluge c z
Uvod u Python
Jezine znaajke c c
Python je interpreterski, interaktivni programski jezik koji podrava nekoliko z programerskih paradigmi s naglaskom na itljiv kod. c Tvorac: Guido von Rossum Primjena: MIT, NASA, IBM, Google, . . . Licenca: open-source
Interpretacija medukoda - izvravanje naredbe po naredbu s Jezik visoke razine - pretpostavljeno podrava ADT z ista sintaksa relativno lagani prijelaz s pseudokoda na implementaciju c podrava nekoliko programerskih paradigmi (proceduralno programiranje, OOP, z
Uvod u Python
2 naina rada: c Interaktivni rad u konzolu se upisuju naredbe programskog jezika koje se odmah interpretiraju (izvravaju). s
1 2 3 Python 2.7 ( r32 :88445 , Feb 20 2011 , 21:29:02) [ MSC v .1500 32 bit ( Intel )] on win32 Type " copyright " , " credits " or " license () " for more information . >>> print " Hello World "
Uvod u Python
Varijable i unos
U Pythonu nema ekplicitine deklaracije tipa varijable, interpreter na temelju incijalizacije prepoznaje tip. Ispis na konzolu: print naredba
Primjer (Unos)
Napiite program koji e za uneseno ime napisati Dobrodoli, ime, u svijet Pythona. s c s
Uvod u Python
Varijable i unos
U Pythonu nema ekplicitine deklaracije tipa varijable, interpreter na temelju incijalizacije prepoznaje tip. Ispis na konzolu: print naredba
Primjer (Unos)
Napiite program koji e za uneseno ime napisati Dobrodoli, ime, u svijet Pythona. s c s
1 2 3 4 5 # ime . py ime = raw_input ( " Unesite ime : " ) # ime print " Dobrodosli " + ime + " u svijet Pythona " python ime . py
Uvod u Python
Tipovi podataka
Osnovne tipove podataka Python predstavlja u objektima.
Kategorija Prazno (None) Brojevi Ime NoneType IntType FractionalType FloatType ComplexType StringType UnicodeType ListType TupleType XRangeType BufferType DictType ClassType InstanceType FileType ModuleType Opis null objekt Cijeli broj Razlomak Realni broj s pom. zarezom Kompleksni broj Niz znakova (string) Unicode (string) Listina, popis ili lista n-terac Vraeno iz xrange() c Vraeno iz buer() c Rjenik c Denicija klase Stvaranje instance klase Datoteka - podaci na mediju Modul (skup objekata)
Nizovi
Primjer
1 2 3 4 2347 # Cjelobrojni literal 13.514 # Realni ( Floating - point ) literal 5.0 J # Imaginarni literal hello # String literal , niz znakova
1 2 3
[ 63 , faks , 8.6 ] # Listina , lista ili popis ( 450 , 320 , 600 ) # n - terac { a :72 , b :1.4 } # rje nik c
Uvod u Python
ADT
Liste (lists): [a,1,b,16] N-terci (tuples): (1,10,3) Rjenici (dictionaries): {a:1,b:2,c:3} c Skupovi (sets)
Uvod u Python
Razliiti tipovi literala. c 1 2 3 4 5 6 7 8 9 10 11 12 >>> type ( " Python " ) # string literal < type str > >>> type (512) # numericki literal < type int > >>> k =2.178 # varijabla k >>> type ( k ) < type float > >>> type ({ a :72 , b :1.4 }) < type dict > >>> z =2+3 j # varijabla z >>> type ( z ) < type complex > 1 2 3 4
U Python 3 verziji postoji tip podataka razlomci: import fractions x = fractions . Fraction (1 ,3) # 1/3 y = fractions . Fraction (1 ,2) # 1/2 z = x + y # 5/6
Uvod u Python
Operacije i operatori
Python podrava veinu operatora i operacija koji su podrani u ostalim programskim z c z jezicima:
1. aritmetike operacije (+, , , /, . . .) c 2. operatori pridruivanja (=, + =, =, =, . . .) z 3. logiki operatori (x < y , x <= y , x > y , x >= y , x <> y , x! = y , x == y ) c 4. specijalizirane operacije na pojedinim tipovima podataka (ugradene metode u objekte)
Uvod u Python
Uvod u Python
Primjeri
Primjer
Napiite Python program koji e za unesene stranice trokuta a, b, c izraunati povrinu s c c s tog trokuta.
Uvod u Python
Primjeri
Primjer
Napiite Python program koji e za unesene stranice trokuta a, b, c izraunati povrinu s c c s tog trokuta.
1 2 3 4 5 6 7 8 9 import math print ( " Racun za povrsinu trokuta " ) a = input ( " a : " ) # pretpostavka : nejednakost trokuta b = input ( " b : " ) c = input ( " c : " ) s =( a + b + c )/2 print " povrsina trokuta je " , math . sqrt ( s *( s - a )*( s - b )*( s - c )) print " Opseg trokuta je " ,a + b + c
Uvod u Python
Primjeri
Primjer
Napiite Python program koji e za unesene stranice trokuta a, b, c izraunati povrinu s c c s tog trokuta.
1 2 3 4 5 6 7 8 9 import math print ( " Racun za povrsinu trokuta " ) a = input ( " a : " ) # pretpostavka : nejednakost trokuta b = input ( " b : " ) c = input ( " c : " ) s =( a + b + c )/2 print " povrsina trokuta je " , math . sqrt ( s *( s - a )*( s - b )*( s - c )) print " Opseg trokuta je " ,a + b + c
Primjer
Napiite Python program koji e sortirati unesenu listu brojeva pomou ugradene s c c funkcije sort().
Uvod u Python
Primjeri
Primjer
Napiite Python program koji e za unesene stranice trokuta a, b, c izraunati povrinu s c c s tog trokuta.
1 2 3 4 5 6 7 8 9 import math print ( " Racun za povrsinu trokuta " ) a = input ( " a : " ) # pretpostavka : nejednakost trokuta b = input ( " b : " ) c = input ( " c : " ) s =( a + b + c )/2 print " povrsina trokuta je " , math . sqrt ( s *( s - a )*( s - b )*( s - c )) print " Opseg trokuta je " ,a + b + c
Primjer
Napiite Python program koji e sortirati unesenu listu brojeva pomou ugradene s c c funkcije sort().
1 2 3 lista =[2 ,6 ,1 ,4 ,5 ,7] lista . sort () print lista
Primjer
Python program s pozdravom.
Uvod u Python
Primjeri
Primjer
Napiite Python program koji e za unesene stranice trokuta a, b, c izraunati povrinu s c c s tog trokuta.
1 2 3 4 5 6 7 8 9 import math print ( " Racun za povrsinu trokuta " ) a = input ( " a : " ) # pretpostavka : nejednakost trokuta b = input ( " b : " ) c = input ( " c : " ) s =( a + b + c )/2 print " povrsina trokuta je " , math . sqrt ( s *( s - a )*( s - b )*( s - c )) print " Opseg trokuta je " ,a + b + c
Primjer
Napiite Python program koji e sortirati unesenu listu brojeva pomou ugradene s c c funkcije sort().
1 2 3 lista =[2 ,6 ,1 ,4 ,5 ,7] lista . sort () print lista
Primjer
Python program s pozdravom.
1 2 3 4 ime = input ( " Vase ime : " ) titula = input ( " titula : " ) print " Dobrodosli u svijet Pythona , % s % s " % ( titula , ime )
Uvod u Python
Kontrolne strukture
Kontrolne strukture koje podrava Python: z
if . . . then . . . else
1 2 3 4 5 6 7 8 9 if uvjet ( i ): naredba ( e ) elif uvjet ( i ): naredba ( e ) elif uvjet ( i ): naredba ( e ) ... else uvjet ( i ): naredba ( e )
Ponavljaj uz uvjet . . .
While . . .
1 2 while izraz : naredba ( e )
For . . .
1 2 for cilj in nizu : naredba ( e )
Uvod u Python
Primjeri
Primjer (Aritmetika sredina) c
Za dani niz podataka treba odrediti njegovu aritmetiku sredinu. c
Uvod u Python
Primjeri
Primjer (Aritmetika sredina) c
Za dani niz podataka treba odrediti njegovu aritmetiku sredinu. c
1 2 3 4 5 6 7 8 9 10 11 12 13 print ( " Unesite brojeve za racunanje " ) print ( " Za izlaz upisite 0 " ) suma =0.0 broj = input ( " Upisite broj " ) n =1 # brojimo elemente while ( broj !=0): broj = input ( " Upisite broj : " ) n +=1 suma += broj print suma / n
Primjer (Fibonnaci)
Za dani n ispiite n Fibonaccijevih brojeva. s
Uvod u Python
Primjeri
Primjer (Aritmetika sredina) c
Za dani niz podataka treba odrediti njegovu aritmetiku sredinu. c
1 2 3 4 5 6 7 8 9 10 11 12 13 print ( " Unesite brojeve za racunanje " ) print ( " Za izlaz upisite 0 " ) suma =0.0 broj = input ( " Upisite broj " ) n =1 # brojimo elemente while ( broj !=0): broj = input ( " Upisite broj : " ) n +=1 suma += broj print suma / n
Primjer (Fibonnaci)
Za dani n ispiite n Fibonaccijevih brojeva. s
1 2 3 4 5 6 7 8 9 10 n = eval ( input ( " Koliko zelite fibona ccijevi h brojeva : " )) result = [] a, b = 0, 1 while b < n : result . append ( b ) a, b = b, a+b print " Fibonaccijevi brojevi : " for broj in result : print broj , " "
Uvod u Python
Funkcije
Funkcije su blokovi naredbi koji primaju vrijednosti izvana i mogu vratiti jednu ili vie s vrijednosti kao rezultat njihova raunanja. c
1 2
Primjer
Denirajte funkciju koja vraa aposolutnu vrijednost broja. c
1 2 3 4 5 6 7 def abs ( x ): if x <0: return -x else : return x print abs ( -5) # ispisuje 5
Uvod u Python
Funkcijski argumenti
Uvod u Python
Primjeri
Primjer
Denirajte funkciju koja e provjeravati da li je broj prost i dodatnu funkciju koja e za c c proslijedene brojeve raunati samo sumu prostih brojeva. c
Uvod u Python
Primjeri
Primjer
Denirajte funkciju koja e provjeravati da li je broj prost i dodatnu funkciju koja e za c c proslijedene brojeve raunati samo sumu prostih brojeva. c
1 2 3 4 5 6 7 import math def Prime ( broj ): for p in range (2 , broj ): if ( broj % p == 0): return False return True 1 2 3 4 5 6 7 8 import math def prime_sum (* brojevi ): suma =0.0 for x in brojevi : if Prime ( x ): suma = suma + x return suma
Uvod u Python
Zadaci
Zadatak
Napiite Python program koji e aproksimirati broj tako da izraunate konanu s c c c sumu niza 4/1 4/3 + 4/5 4/7 + 4/9 4/11 + . . .. Korisnik treba unjeti broj n koji predstavlja broj lanova ovog niza. c
Zadatak
Napiite Python program koji e za uneseno ime i prezime generirati korisniko ime s c c tako da ga sloi kao string od prvog znaka imena i od prvih sedam znakova prezimena. z Ime i prezime moraju biti prebaeni u mala slova. c
Uvod u Python
Klase kolekcija podataka (atributa) sa skupom metoda za pristup i manipulaciju tim podacima. Objekt instanca klase - varijabla koja sadri atribute i metode s postavljenim z vrijednostima kako je propisala klasa koju je instancira.
Uvod u Python
Klase kolekcija podataka (atributa) sa skupom metoda za pristup i manipulaciju tim podacima. Objekt instanca klase - varijabla koja sadri atribute i metode s postavljenim z vrijednostima kako je propisala klasa koju je instancira. Vane karakteristike OOP: z 1. polimorzam (engl. polymorphism) manipulirati objektima bez eksplicitnog znanja o tipu ili klasi kojima pripadaju objekti. 2. enkapsulacija (engl. encapsulation) atributima i metodama se mogu pridjeliti razine pristupa koje mogu biti privatne ili javne. z 3. nasljedivanje (engl. inheritance) skupovni odnos izmedu klasa (klasa moe biti podklasa neke druge klase)
Uvod u Python
OOP u Pythonu
Uvod u Python
OOP u Pythonu
Uvod u Python
OOP u Pythonu
Uvod u Python
OOP u Pythonu
ispred i iza imena. Python upotrebljava takve posebne metode za neke operacije koje se izvravaju na instancama klase. (konstruktor) s
Uvod u Python
OOP u Pythonu
ispred i iza imena. Python upotrebljava takve posebne metode za neke operacije koje se izvravaju na instancama klase. (konstruktor) s
Klasa moe podatke i metode naslijediti od drugih klasa z
Uvod u Python
sintaksa
Deniranje klase:
1 2 3 4 5 6 7 8 9 class ime_klase [( klase roditelji )]: izraz1 izraz2 ... def metoda1 (): ... def metoda2 (): ... ...
Uvod u Python
sintaksa
Deniranje klase:
1 2 3 4 5 6 7 8 9 class ime_klase [( klase roditelji )]: izraz1 izraz2 ... def metoda1 (): ... def metoda2 (): ... ...
Uvod u Python
Enkapsulacija
U klasi mogu biti denirani razine pristupa metodama i atributima. Te razine mogu biti private i public i deklarirane su ovisno o broju podcrta (__) u preksu imena metoda/atributa:
1 2 self . __ id e nt if i ka to r self . identifikator # privatna varijabla klase ( private ) # javna varijabla klase ( public )
Uvod u Python
Enkapsulacija
U klasi mogu biti denirani razine pristupa metodama i atributima. Te razine mogu biti private i public i deklarirane su ovisno o broju podcrta (__) u preksu imena metoda/atributa:
1 2 self . __ id e nt if i ka to r self . identifikator # privatna varijabla klase ( private ) # javna varijabla klase ( public )
Primjer (Osoba)
Klasa koja sadri javne i privatne varijable. z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 7. OOP u Pythonu # jednostavni primjer klase i instanciranja class Osoba (): # definiranje klase " klasa s kojom instanciramo osobe " def postaviIme ( self , ime ): # metode self . __ime = ime # privatni atributi def dajIme ( self ): return self . __ime def pozdrav ( self ): print ( " Dobrodosli , gdine % s u svijet Pythona ! " % self . name ) osoba1 = Osoba () # instanciranje objekta klase Osoba osoba1 . postaviIme ( Pero ) osoba1 . pozdrav () osoba2 = Osoba () osoba2 . postaviIme ( Ivo ) osoba2 . pozdrav () print ( " Imena novih pythonista su % s i % s ! " %( osoba1 . getName () , osoba2 . getName ()))
Uvod u Python
Inicijalizatori objekata
Za inicijalizaciju objekata koristimo posebnu funkciju zvanu konstruktor.
Primjer
Napiite Python klasu Pravokutnik u kojoj kontruktorom inicijalizirate vrijednosti s varijabli visina, sirina i metode koje raunaju povrinu odnosno opseg. c s
Uvod u Python
Inicijalizatori objekata
Za inicijalizaciju objekata koristimo posebnu funkciju zvanu konstruktor.
Primjer
Napiite Python klasu Pravokutnik u kojoj kontruktorom inicijalizirate vrijednosti s varijabli visina, sirina i metode koje raunaju povrinu odnosno opseg. c s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # Pravokutnik sa slucajnim duljinama stranicama from random import * import time seed () class Pravokutnik (): def __init__ ( self , sirina , duljina ): self . sirina = sirina self . duljina = duljina def povrsina ( self ): return self . duljina * self . sirina def opseg ( self ): return 2*( self . duljina + self . sirina )
# glavni program pravokutnici = [] for i in range (1 ,3): pravokutnik = Pravokutnik ( random ()*10 , random ()*10) pravokutnici . append ( pravokutnik ) for pravokutnik in pravokutnici : print " Povrsina pravokutnika je %.2 f , a opseg %.2 f " % ( pravokutnik . povrsina () , pravokutnik . opseg ())
Uvod u Python
Nasljedivanje
Nasljedivanje je mehanizam stvaranja novih klasa koje specijaliziraju ili mijenjaju ponaanje postojee klase. s c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
class A : varA = 42 def method1 ( self ): print ( " Class A : method1 " ) class B : varB = 37 def method1 ( self ): print ( " Class B : method1 " ) def method2 ( self ): print ( " Class B : method2 " ) class C (A , B ): # Nasljeduje od A i B varC = 3.3 def method2 ( self ): print ( " Klasa B : override : -) " ) def method3 ( self ): print ( " Class C : method3 " ) class D ( A ): varD =100 def method4 ( self ): print ( " Subclass of A " ) objekt2 = B () objekt3 = C () objekt5 = D () # print ( objekt2 . varA ) # greska : objekt2 nema atribut varA objekt3 . varA # valjan ispis : 42
Uvod u Python
Nasljedivanje
uzorak = Filter () print ( uzorak . filter ([1 ,2 ,3])) filteruzorak = SPAMFilter () print ( filteruzorak . filter ([ SPAM , SPAM ,1 ,4 ,2 , SPAM ,6 ,5]))
Uvod u Python
Zadaci
Zadatak 1
1. Napiite Python program u kojem e te denirati klasu Trokut koja u sebi sadri s c z zatiene atribute a, b, c i javne metode povrsina() i opseg() koje e raunati s c c c povrinu odnosno opseg trokuta. Denirajte konstruktor koji e inicijalizirati s c objekt klase. 2. Denirajte Python klasu JednakokracniTrokut nasljedenu iz klase Trokut koji u konstruktor prima samo parametre a, b i prosljeduje konstuktoru bazne klase.
Uvod u Python
Rjeenje. s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
# Trokut import math class Trokut : " klasa koja definira trokut " def __init__ ( self ,x ,y , z ): self . _a = x self . _b = y self . _c = z def opseg ( self ): return self . _a + self . _b + self . _c def povrsina ( self ): s =( self . _a + self . _b + self . _c )/2.0 return math . sqrt ( s *( s - self . _a )*( s - self . _b )*( s - self . _c )) class J e d n a k o k r a c n i T r o k u t ( Trokut ): def __init__ ( self ,a , b ): Trokut . __init__ ( self ,a ,b , b ) # glavni dio programa trokut1 = Trokut (3 ,4 ,5) trokut2 = J ed n a k o k r a c n i T r o k u t (4 ,3) print " povrsina trokut1 = " , trokut1 . povrsina () print " povrsina trokut2 = " , trokut2 . povrsina ()
Uvod u Python
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vie modula zajedno s ini paket. Moduli i paketi predstavljaju Python knjinicu (engl. library). c z Poziv modula postie se naredbom import: z 1. Modul stvara novi prostor imena koji slui svim objektima deniranim u pripadnoj z izvornoj datoteci.
Uvod u Python
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vie modula zajedno s ini paket. Moduli i paketi predstavljaju Python knjinicu (engl. library). c z Poziv modula postie se naredbom import: z 1. Modul stvara novi prostor imena koji slui svim objektima deniranim u pripadnoj z izvornoj datoteci. 2. Modul izvrava kd koji je sadran unutar novonastalog prostora imena. s o z
Uvod u Python
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vie modula zajedno s ini paket. Moduli i paketi predstavljaju Python knjinicu (engl. library). c z Poziv modula postie se naredbom import: z 1. Modul stvara novi prostor imena koji slui svim objektima deniranim u pripadnoj z izvornoj datoteci. 2. Modul izvrava kd koji je sadran unutar novonastalog prostora imena. s o z 3. Modul izvrava ime unutar pozivatelja, koje se odnosi na prostor imena modula. s Ovo ime podudara se s imenom modula.
Uvod u Python
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vie modula zajedno s ini paket. Moduli i paketi predstavljaju Python knjinicu (engl. library). c z Poziv modula postie se naredbom import: z 1. Modul stvara novi prostor imena koji slui svim objektima deniranim u pripadnoj z izvornoj datoteci. 2. Modul izvrava kd koji je sadran unutar novonastalog prostora imena. s o z 3. Modul izvrava ime unutar pozivatelja, koje se odnosi na prostor imena modula. s Ovo ime podudara se s imenom modula.
Uvod u Python
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vie modula zajedno s ini paket. Moduli i paketi predstavljaju Python knjinicu (engl. library). c z Poziv modula postie se naredbom import: z 1. Modul stvara novi prostor imena koji slui svim objektima deniranim u pripadnoj z izvornoj datoteci. 2. Modul izvrava kd koji je sadran unutar novonastalog prostora imena. s o z 3. Modul izvrava ime unutar pozivatelja, koje se odnosi na prostor imena modula. s Ovo ime podudara se s imenom modula. Drugim rijeima, unutar jednog programa moemo ukljuivati i druge programe. c z c
Uvod u Python
Biblioteke
Tvorba instance
Uvod u Python
Moduli se mogu uitati (importirati) koristei alternativna imena, i to upotrebom c c poveznice as. Na primjer:
1 2 3 4 5 6 7
import os as sustav import socket as mreza sustav . chdir ( " .. " ) mreza . gethostname () ... import math as matematika x = matematika . sqrt (2)
Uvod u Python
Zadaci
Zadatak 2
1. Napiite Python program u kojem e te denirati klasu Complex koja u sebi s c sadri atribute Re, Im i preopteretite operatore +, tako da moete primjeniti z z aritmetiki operator na dane objekte tipa Complex c 2. Testiranje napravite u datoteci testComplex.py koja e preuzeti Complex kao c paket s prijmjerom u = 2 i, v = 4 + 6i.
Uvod u Python
Rjeenje. s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Complex : def __init__ ( self , real , imag =0): self . real = float ( real ) self . imag = float ( imag ) def __repr__ ( self ): return " ( Complex % s +% s ) " % ( self . real , self . imag ) def __str__ ( self ): return " % g +% gi " % ( self . real , self . imag ) # self + other def __add__ ( self , drugi ): # operator s lijeva return Complex ( self . real + drugi . real , self . imag + drugi . imag ) def __radd__ ( self , drugi ): # operator s desna return Complex . __add__ ( drugi , self ) # other - self def __mul__ ( self , drugi ): pass def __rmul__ ( self , drugi ): pass def __coerce__ ( self , drugi ): if isinstance ( drugi , Complex ): return self , drugi try : # Provjeriti ako se moze pretvoriti u float return self , Complex ( float ( drugi )) except ValueError : pass # testComplex . py from Complex import Complex u = Complex (1 ,2) v = Complex (2 , -3) x =3 print u + v print u + x
Uvod u Python
Uvod u Python
Koristit emo graphics.py za rad s grakom i ona u sebi sadri klasu koja je izvedena c z iz klasa implementiranih u Tk biblioteci.
Uvod u Python
Koristit emo graphics.py za rad s grakom i ona u sebi sadri klasu koja je izvedena c z iz klasa implementiranih u Tk biblioteci. Za neke druge grake biblioteke pogledati: wxPython, PyQt, ... c
Uvod u Python
miem s
setCoords(x1,y1,x2,y2) postavlja koordinanti sustav prozora (x1,y1)
(x2,y2) dijagonala prozora Graphics objekti modul predstavlja geometrijske elemene toke, pravca, krunice, c z elipse, pravokutnika, poligona i teksta redom kao klase imenom Point, Line, Circle, Oval, Rectangle, Polygon,Text
setFill(color) postavlja boju interijera grakog objekta c setOutline(color) postavlja boju oruba geometrijskog objekta setWidth(pixels) metoda postavlja irinu oruba objekta na veliinu pixels s c draw(GraphWinObj) metoda crta objekt unutar GraphWinObj objekta undraw() brie objekt iz grakog prozora s c
Uvod u Python
Point metode
Point(x,y) stvara toku s danim koordinatama c getX(),getY() vraa x, odnosno y koordinatu c
Line metode
Line(pt1,pt2) metoda konstruira duinu od toaka pt1,pt2 z c getCenter() vraa polovite segmenta c s getP1(), getP2() vraa toke koje ine krajeve duine c c c z
Circle metode
Circle(center,radius) metoda konstuira krunicu s danim centrom i z
radijusom
getCenter() vrati toku centra krunice c z getRadius() vraa duljinu radijusa krunice c z getP1(), getP2() vraa 2 krajnje toke horizontalog promjera c c
Rectangular metode
Rectangle(pt1, pt2) konsturira pravokutnik iju dijagonalu tvore toke c c
pt1,pt2
Uvod u Python
Oval metode
Oval(pt1, pt2) konsturira elipsu u okviru odredenim dijagonalom ije su c
Poylgon metode
Polygon(pt1, pt2, pt3, ...)
pt1,pt2,...
getPoints() vraa listu toaka koje tvore poligon c c
Text metode
Text(anchor, string) stvara objekt koji na toki anchor sadri string string. c z setText(string) getText()
getAnchor() vrati toku na kojoj je postavljen tekst c setFace(family) promjena fonta u familiju family. Familiju fonta moemo z
Uvod u Python
Uvod u Python
Primjer
Napravite graki prozor u kojem e biti prikazan uzorak za igru krui-krii. c c zc zc
Uvod u Python
Primjer
Napravite graki prozor u kojem e biti prikazan uzorak za igru krui-krii. c c zc zc
1 2 3 4 5 6 7 8 9 10 11 12 # create a default 200 x200 window from graphics import * win = GraphWin ( " Tic - Tac - Toe " ) # set coordinates to go from (0 ,0) in the lower left # to (3 ,3) in the upper right . win . setCoords (0.0 , 0.0 , 3.0 , 3.0) # Draw vertical lines Line ( Point (1 ,0) , Point (1 ,3)). draw ( win ) Line ( Point (2 ,0) , Point (2 ,3)). draw ( win ) # Draw horizontal lines Line ( Point (0 ,1) , Point (3 ,1)). draw ( win ) Line ( Point (0 ,2) , Point (3 ,2)). draw ( win )
Uvod u Python
Primjer
Napravite graki prozor u kojem ete s 3 klika mia denirati toke. Napravite objekt c c s c trokut uz pomo tih 3 toke i denirajte mu boju ispune i boju oruba. c c
Uvod u Python
Primjer
Napravite graki prozor u kojem ete s 3 klika mia denirati toke. Napravite objekt c c s c trokut uz pomo tih 3 toke i denirajte mu boju ispune i boju oruba. c c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 # program za crtanje trokuta from graphics import * def crtajTrokut (): win = GraphWin ( " Trokut " ) win . setCoords (0.0 , 0.0 , 10.0 , 10.0) # postovi koordinatni sustav message = Text ( Point (5 , 0.5) , " Oznacite 3 tocke : " ) # tekst komentara message . draw ( win ) # ucitaj i nacrtaj 3 tocke p1 = win . getMouse () p1 . draw ( win ) p2 = win . getMouse () p2 . draw ( win ) p3 = win . getMouse () p3 . draw ( win ) # koristi poligon objekt kako bi nacrtao trokut triangle = Polygon ( p1 , p2 , p3 ) triangle . setFill ( " red " ) # postavi ispunu triangle . setOutline ( " cyan " ) # postavi obrub triangle . draw ( win ) # nacrtal trokut # novi klik je izlaz message . setText ( " Klikni jos jednom na izlaz ... " ) win . getMouse ()
crtajTrokut ()
Uvod u Python
Primjer
Napravite graki program koji e unositi temperaturu u Celziusovim stupnjevima, a c c vraati vrijednost u Fahrenheit skali. c
Uvod u Python
Primjer
Napravite graki program koji e unositi temperaturu u Celziusovim stupnjevima, a c c vraati vrijednost u Fahrenheit skali. c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # graficko sucelje za pretvaranje temperature iz celziusa u Farenheit temp . from graphics import * # ukljucivanje grafickog paketa def main (): win = GraphWin ( " Celsius Converter " , 300 , 200) win . setCoords (0.0 , 0.0 , 3.0 , 4.0) # Draw the interface Text ( Point (1 ,3) , " Celsius Temperature : " ). draw ( win ) Text ( Point (1 ,1) , " Fahrenheit Temperature : " ). draw ( win ) input = Entry ( Point (2 ,3) , 5) input . setText ( " 0.0 " ) input . draw ( win ) output = Text ( Point (2 ,1) , " " ) output . draw ( win ) button = Text ( Point (1.5 ,2.0) , " Convert It " ) button . draw ( win ) Rectangle ( Point (1 ,1.5) , Point (2 ,2.5)). draw ( win ) # pricekaj za klik misa win . getMouse () # pretvori vrijednost celsius = eval ( input . getText ()) fahrenheit = 9.0/5.0 * celsius + 32 # prikazi rezultati i promijeni tekst dugmeta output . setText ( " %0.1 f " % fahrenheit ) button . setText ( " Quit " ) # cekaj za klik i izlaz win . getMouse () win . close () main ()
Uvod u Python
Zadaci
Zadatak
Napiite graki program u Pythonu koji e imati input polja za upis parametara s c c a, b, c kvadratne funkcije f (x) = ax 2 + bx + c, a = 0 te granice domene l, r i nakon upisa vrijednosti ispisati koordinatni sustav u kojem e se nalaziti graf funkcije f (x) na c domeni [l, r ]. Napomena: Graf moete diskretno aproksimirati s tokama (xi , f (x)), i = 1, . . . , k z c gdje je k broj uzoraka i zatim toke grafa povezati duinama. c z
Uvod u Python
Zakljuak c
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni rad
uz preporuenu literaturu. c
Uvod u Python
Zakljuak c
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni rad
uz preporuenu literaturu. c
Pitanja iz Pythona ? Konzultacije u dogovoru sa asistentima.
Uvod u Python
Zakljuak c
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni rad
uz preporuenu literaturu. c
Pitanja iz Pythona ? Konzultacije u dogovoru sa asistentima. Python u primjeni ostale vjebe. z
Uvod u Python
Literatura
Mark Pilgrim, Dive Into Python 3, APress, 2009 [besplatno] James Payne, Beginning Python: Using Python 2.6 and Python 3.1, Wiley Publishing, Inc., 2011. J. M. Zelle, Python: Introduction to Computer Science, 2003.