Python by zlatko markovinovic
-
Upload
agencija-za-odgoj-i-obrazovanje-education-and-teacher-training-agency -
Category
Education
-
view
1.337 -
download
7
Transcript of Python by zlatko markovinovic
![Page 1: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/1.jpg)
PYTHON
Zlatko Markovinović, prof. mentor
Gimnazija „Matija Mesić”, Slavonski Brod
![Page 2: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/2.jpg)
Što, zašto i kako?
Detektirati probleme nastave programiranja
Ustanoviti rješenje koje zadovoljava
Pripremiti nastavnike
Prilagoditi nastavne planove i programe
![Page 3: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/3.jpg)
Programski jezici
![Page 4: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/4.jpg)
Što djeca uče u školi?
OŠ - Logo, Basic/Pascal
SŠ - BASIC, Pascal, C, (C++, C#, Java)
Uspjeh – upoznati sintaksu svih jezika
Algoritamski pristup-nema vremena
![Page 5: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/5.jpg)
Može li samo jedan jezik?
Besplatan
Jednostavna sintaksa
Lagan za naučiti
Jezik visoke razine (moćan, objektno orjentiran)
Dobro dokumentiran
Bogata biblioteka programa
![Page 6: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/6.jpg)
Python
je softver otvorenog koda (open source)
je jednostavniji od Q-basica
je izuzetno moćan (kalkulator, web, igrice...)
je objektno-orijentirani jezik
je 7. jezik na ljestvici najpopularnijih (trav. 2010.)
je idealan za učenje programiranja
![Page 7: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/7.jpg)
Python
nastao je 1990.
tvorac – Nizozemac Guido van Rossum
interpreter (može i exe pomoću py2exe)
koriste ga NASA, IBM, Google, Yahoo,...
podučavaju ga na MIT-u i na našim fakultetima
objektno-orijetnirani jezik
![Page 8: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/8.jpg)
Osobine Pythona
nema točka-zarez na kraju naredbe
nema deklaraciju varijabli
sve je objekt
nema oznaku početka i kraja bloka naredbi
blok se definira uvlakama (C-{}, Pascal- Begin
End)
učenik zato mora pisati pregledan strukturirani kod
![Page 9: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/9.jpg)
Usporedba Python-Pascal
Python a=input('Unesi duljinu stranice kvadrata:')
print 'Kvadrat stranice ',a,' ima površinu ',a*a
Pascal var a:integer;
begin
writeln('Unesi duljinu stranice kvadrata:');
readln(a);
writeln('Kvadrat stranice ',a,' ima površinu ',a*a);
readln
end
Rezultat
>>>
Unesi duljinu stranice kvadrata:5
Kvadrat stranice 5 ima površinu 25
![Page 10: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/10.jpg)
Što sve može?
izrada grafičkog sučelja (Tkinter modul)
from Tkinter import *
root = Tk()
root.title ("Pozdrav")
Label (root, text = 'ovo je labela',font = 'times 16 bold').pack()
Button(root, text = 'ovdje klikni',font = 'times 16 bold').pack()
root.mainloop()
![Page 11: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/11.jpg)
Što sve može?
kornjačina grafika (Turtle modul)
from turtle import*
reset()
for i in range(4):
fd(40)
lt(90)
clear()
hideturtle()
for i in range(110):
lt(55)
fd(60)
for i in range(15):
rt(65)
fd(23)
![Page 12: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/12.jpg)
Zašto Python?
jezik za početnike
jezik kojim djeca zavole programiranje
jezik koji darovitima otvara mogućnosti
jezik koji ima smisla učiti
![Page 13: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/13.jpg)
Python instalacija
http://www.python.org/
Python 2.6.4 (14,5 MB)
![Page 14: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/14.jpg)
Python GUI
Interpreter
Enter za izvršavanje programske linije
![Page 15: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/15.jpg)
Pisanje i pokretanje skripte
za pisanje skripte "File"->"New window”
pokretanje skripte “Run"->"Run Module F5"
![Page 16: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/16.jpg)
Tipovi podatka
Brojevi
•121 # cjelobrojni – int
•23.513 # realni – float
•4+3j #imaginarni - complex
Stringovi
•'Ahoj' #niz znakova – str
Tip dobijemo >>>type(25.513)
<type 'float'>
![Page 17: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/17.jpg)
Implementirani tipovi podataka
[ 'pauza', '12', 17.3 ] # lista ili popis - list
promjenljiv poredani niz članova
članovi su objekti bilo kojeg tipa
(137, 66, '120' ) # n-terac - tuple
nepromjenljivi niz članova
članovi su objekti bilo kojeg tipa
{’i’:17, ’j’:2.9} # rječnik - dictionary
član u rječniku je par kjuč/vrijednost
ključevi moraju biti jedinstveni
![Page 18: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/18.jpg)
Naredbe print i input
Print >>> print 'Ljeto odlazi'
Ljeto odlazi
>>> a=4
>>> b=8
>>> print a,'+',b,'=',a+b
4 + 8 = 12
>>>
Input >>> ocjena=input('Unesi ocjenu:')
Unesi ocjenu:5
>>> print 'Uspjeh ti je ',ocjena
Uspjeh ti je 5
>>> poruka=raw_input('Unesi poruku:')
Unesi poruku:Dobar dan
>>> print poruka
Dobar dan
![Page 19: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/19.jpg)
Python kao kalkulator
sadržaj math modula >>> help()
help> math #pregled sadržaja math modula
help> quit #izlaz iz helpa
>>> from math import *
>>> print factorial(5)
120
>>> 15/5*3
9
>>> 15/(5*3)
1
>>> 5/3 # Cjelobrojno dijeljenje
1
>>> 5./3 # Dodamo točku ako želimo realan rezultat
1.6666666666666667
![Page 20: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/20.jpg)
Naredba grananja-if..elif
if uvjet1:
blok1 #naredba ili više njih
elif uvjet2:
blok2
...
else uvjetn:
blokn
# Za broj ispiši ako je negativan inače utvrdi parnost.
x=input('unesi broj')
if x < 0: print "x je negativan"
elif x % 2: print "x je pozitivan i neparan"
else: print "x je paran i nije ne-negativan"
![Page 21: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/21.jpg)
Naredba ponavljanja - for
for cilj in nizu:
blok #naredba ili više njih
# Ispiši slova riječi "Ivo"
>>> for znak in "Ivo":
print znak
I
v
o
# Ispiši koga voliš.
>>> for ime in ['Ana','Ema','Viktorija']:
print ime, ' volim te!'
Ana volim te!
Ema volim te!
Viktorija volim te!
![Page 22: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/22.jpg)
Funkcija range
range(x,y,step) - vraća niz cijelih brojeva od x
(uključeno) do y (isključeno) s korakom step
# Zbrojiti prvih 10 parnih brojeva.
s=0
for x in range(0,11,2):
s+=x # s=s+x
print s
# Ispiši srednju vrijednost za n unešenih brojeva.
n=input ('Koliko brojeva unosite?')
suma=0. # realna suma
for i in range(n): # od 0 do n-1 ima n brojeva
x =input("Unesite broj=")
suma=suma+x
print " Srednja vrijednost =",suma/n
![Page 23: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/23.jpg)
Naredba ponavljanja - while
while uvjet:
blok #naredba ili više njih
# Zbrojiti prvih 10 parnih brojeva.
s=0;x=0
while x<11:
if x%2==0: # % ostatak pri cjelobrojnom djeljenju
s+=x # s=s+x
x+=1
print s
![Page 24: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/24.jpg)
Naredbe break
dozvoljena samo unutar petlje
izvršavanjem break naredbe petlja završava
# Izlaz iz beskonačnog ponavljanja
while True:
x=input('Unesi 1 za kraj')
if x==1:
break
![Page 25: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/25.jpg)
Kornjačina grafika
Python kao Logo
Naredbe se nalaze u modulu Turtle
# Nacrtaj pravokutnik
from turtle import*
reset()
for i in range(4):
fd(140)
lt(90)
![Page 26: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/26.jpg)
Linkovi
Python Homepage
http://www.python.org/
Python Tutorial
http://www.python.org/tut
Python documentation
http://www.python.org/doc
![Page 27: Python by zlatko markovinovic](https://reader034.fdocument.pub/reader034/viewer/2022052308/587bcb721a28ab6c3c8b6d8d/html5/thumbnails/27.jpg)
Za kraj!
JESTE LI NAUČILI NEŠTO NOVO?
PITANJA?