Professional Documents
Culture Documents
Programiranje U Pythonu-Dio Prvi, Drugi I Treći - Input, Print
Programiranje U Pythonu-Dio Prvi, Drugi I Treći - Input, Print
Sadržaj
1. VARIJABLE ...........................................................................................................................
............ 2
1
[PROGRAMIRANJE U PYTHONU]
DIO PRVI
1. VARIJABLE
Varijabla je memorijska
lokacija simboličnog imen
a u koju se sprema vrije
dnost nekog
podatka. Varijabla se sasto
ji od imena, adrese i vrijed
nosti.
a=34
I
V
2
Operator
pridruživanja
3
[PROGRAMIRANJE U PYTHONU]
a = 'infor
matika'
Naravno potrebno
je voditi brigu o znaku pri
druživanja da se ne poisto
vjeti sa dvostruko
jednako == što predstavlja opera
tor usporedbe.
// Cjelobrojno dijeljenje
4
[PROGRAMIRANJE U PYTHONU]
Uz
prikazane operatore, varija
ble često poprimaju i odre
đeni tip podataka.
Brojevne:
d
cjelobroj e
ni tip pod c
atka integ i
er m
a
Int()- l
pretvara u u
cijeli broj
odbacujuć
i
realni čnom
tip po točko
datka m)
float
float()-
pretvar
(s a u real
pomi ni broj
logič
ki ti bool()-
p po radi s logi
datk čkim tipo
a bo vima pod
ol ataka
(true, false)
Z stri
ng(
)-
rad
i sa
zn
ako
vni
m
tip
ovi
ma
podataka
znakovni niz - string
Primjer:
Moguće je i obrnuto,
uneseni cijeli broj
prikazati u binarnom ili
heksadekadskom obliku.
Pretvorbu rade funkcije
ugrađene u
Python bin( ), odnosno
hex( ) .
Primjer:
>>> bin(15) >>> bin(128)
'0b1111 '0b10000000'
>>> >>>
>>> hex(255)
>>> hex(15) '0xff'
'0xf'
>>> >>>
6
Zapis realnih brojeva
zapisuje se u Pythonu
formatom dvostruke
preciznosti za čiju pohranu
je potrebno 8 bytova (64
bita). Ako su vrijednosti
brojeva u nekim
granicama, Python ih
ispisuje u obliku broja s
decimalnom točkom, a
vrijednosti izvan tih
granica ispisuje u
eksponencijalnom obliku.
Primjer: decimalni
brojevi
veliki brojevi
7
Python ima ugrađene
funkcije int( ) i bool( )
pomoću koje možemo
ustanoviti cjelobrojnu
vrijednost neke logičke
vrijednosti i obrnuto.
Primjer:
>>> bool(100)
>>> int(True)
>>> int(True) True
1
1 >>> bool(-100)
>>> int(False)
True
>>> int(False) 0
>>> bool(0)
0 >>> bool(1)
False
True
>>>
Ukratko o Pythonu.
Relativno je novi
programski jezik, nastao
1989. godine. Osmislio
ga je Nizozemac Guido
van Rossum i dao mu
naziv prema letećem
cirkusu Monty Python.
Smatra se jednim od
najprikladnijih
programskih jezika za
podučavanje
programiranja.
Programsko okruženje
Pythona je za pripremu i
izvođenje programa
besplatno i moguće ga je
preuzeti na adresi
https://www.python.o
rg/downloads/
Python se može
pokrenuti kao Python
Shell - otvara se
interaktivno sučelje (vidi
sliku iznad) tzv.
integrirano razvojno
okruženje (engl.
Integrated Development
Environment – IDE ).
Kod Pythona razvojno
okruženje zove se IDLE.
Kad se pokrene, pojavi se
prozor koji čini
interaktivno sučelje čiji
naslov je Python Shell.
Može se koristiti i
interpreterski način rada
u programu u kojem se
prikazuju izlazne
vrijednosti naših
programa, a pogodno je i
za provjeru rada neke
naredbe. U takvom obliku
9
rada izvodi se naredba po
naredba a program nije
moguće spremiti (slika
ispod).
Primjer:
>>> 'Monthy
Python'
'Monthy Python'
>>> 'Song "Always
look on the bright
side of life" by Eric
Idle'
'Song "Always look
on the bright side of
life" by Eric Idle'
>>>
10
Posebni znakovi za
oblikovanje teksta
počinju lijevo
zakošenom crtom:
Primjer:
Ispis kao u
prethodnom primjeru
postižemo na sljedeći
način pomoću \“ :
Python ispisuje
znakovni niz onako
kako je utipkan, no taj
će isti niz funkcijom
print( ) biti ispisan na
zaslonu onako kako
je zamišljeno:
11
>>> print("Song \
nAlways look on the
bright side of life\
nby Eric Idle")
Song
Always look on the
bright side of life
by Eric Idle
>>>
12
U Pythonu se za
kodiranje upotrebljava
kodni sustav Unicode
i to inačica UTF-8 .
Kodiranje preko
milijun znakova svih
svjetskih pisama
obavlja se s 1 do 6
bytova; dijakritički
znakovi hrvatske
abecede trebaju za
svoj smještaj 2 byta a
ostali znakovi po 1
byte.
U Pythonu postoji
funkcija ord( ) koja
vraća dekadsku
vrijednost pojedinog
znaka.
Funkcija print ( )
omogućuje ispis i
više vrijednosti
odjednom koje unutar
zagrada moraju biti
razdvojene zarezima
(gdje će Python
umetnuti razmak).
Upotrebom funkcija
možemo ustanoviti
kako su kodirana
pojedina slova.
Primjer:
>>> print ( 'A', ord
( 'A' ), hex ( ord ('
A' )), bin (ord ('A' )))
A 65 0x41
0b1000001
>>>
>>> print ( 'ć', ord ( 'ć'
), hex (ord ( 'ć' )), bin
(ord ( 'ć' )))
ć 263 0x107
0b100000111
>>>
Primjer:
13
Saznajte vrijednosti za
Š , š, Đ, đ, Ž , ž, Č,
č, Ć . DZ
Kakav je redoslijed
velikih i malih slova u
kodnom sustavu?
Korisna funkcija za
rad s brojevima je
abs( ), koja vraća
apsolutnu vrijednost
broja.
Primjeri:
>>> abs ( -5 )
5
>>> abs (4.5 )
4.5
>>> abs ( -5.6 )
5.6
>>>
Zadatak 1: DZ
U interaktivnom sučelju
preračunajte koliko 100000
sekundi iznosi u danima,
satima i minutama?
>>> 100000//60
1666
#min
>>> 100000%60
40
#sec - ostatak
>>> 1666//60
27
#sat
>>> 1666%60
46
#min - ostatak
>>> 27//24
1
#dan
>>> 27%24
14
3
#sat - ostatak
>>>
>>>
((1*24+3)*60+46)*60+40
100000
#sec
>>>
Operatori u Pythonu
rangirani su na način
prikazan u tabeli:
Operator Značenje
** potenciranje
- negacija
*, /, //, % Množenje, dijeljenje, cjelobrojno dijeljenje, ostatak
+, - zbrajanje, oduzimanje
15
Provjerite sljedeće izračune:
DZ
>>> ((1*24+3)*60+46)*60+40
>>> 3+12/3*(60-20)
>>> 3+12/(3*60)-20
>>> 3+12//3*60-20
>>> 3+12//(3*60)-20
>>> 2+12//(3*60)-20
>>> 3+12/3*(60-20)
163.0
>>> 3+12/3*60-20
223.0
>>> 3+12/(3*60)-20
-16.933333333333334
>>> 3+12//3*60-20
223
>>> 3+12//(3*60)-20
-17
>>> 2+12//(3*60)-20
-18
>>>
2. K
O
M
E
N
T
A
R
I
16
početak komentara,
e do kraja linije.
Kako su komentari t
u da pojasne dio kôd
a, oni se ne interpret
iraju, tj.
prilikom izvođenja
programa se ignorir
aju.
>>> # Ovo
je prvi
komentar
>>> var1
= 1 #
ovo je
drugi
komentar
>>>text = "# Ovo nije
komentar jer se nalazi
unutar navodnika."
print(var1)
print(text)
Izlaz:
1
# Ovo nije komentar
jer se nalazi unuta
r navodnika.
Komentari
Ako je programski kôd kvalite
tno komentiran, programer k
oji čita takav kôd puno će br
že shvatiti logiku programa.
17
komentara u nekoj liniji n
e smije pisati nikakav pro
gramski kôd.
Znakovni niz može biti
zadan ograđen s tri
uzastopna navodnika
(jednostruka ili dvostruka).
Tada se tekst ispisuje
točno onako kako je
zadan, osim što prvi redak
pomiče za tri mjesta:
var1 = 1
print(var1)
11
''' Ovo je komentar
koji se proteže
kroz nekoliko
programskih linija '''
18
var1 = 1
print(var1)
1
""" Ovo je komentar
koji se proteže
kroz nekoliko
programskih linija """
19
DIO TREĆI
7 3.NAREDBE UNOSA
I ISPISA
INPUT
Da bi mogli manipuirati p
odacima i nad njima vršiti
različite operacije, potreb
no je dobaviti
podatke nad kojima će se
moći vršiti različite opera
cije. Kako bi omogućili
upisivanje
tekstualne ili brojčane vrij
ednost u Python programs
ki jezik, potrebno je upotri
jebiti naredbu
input.
20
različite vrijednosti no uo
bičajenim pridruživanjem
vrijednosti nekoj varijabli
(na primjer:
potrebno je upotrijebiti up
ravo naredbu input. Kao š
to smo dosad pridruživali
neku vrijednost
21
PROGRAMIRANJE
Ž U PYTHONU
23
Zadatak 2: sastavite program kojim se
traži unos imena (u odgovarajućem
padežu) te se ispisuje poruka „ Dobar
dan „ime“.
Zadatak 5:
Primjer s preračunavanjem
100000 sekundi u minute, sate i
dane napišite koristeći
navedene varijable (u
interpreterskom načinu rada):
24
- sekunde,
ostatak_sekundi,
minute,
ostatak_minuta, sati,
ostatak_sati, dani
- ispis rezultata naredbom
print
>>> sekunde=100000
>>> ostatak_sekundi=sekunde
%60
>>> minute=sekunde//60
>>> ostatak_minute=minute
%60
>>> sati=minute//60
>>> ostatak_sati=sati%24
>>> dani=sati//24
>>> print(dani, "dan,",
ostatak_sati,"sata,",
ostatak_minute, "minuta,",
ostatak_sekundi,"sekundi")
1 dan, 3 sata, 46 minuta, 40
sekundi
25
Zadatak 6:
Zadatak 7:
>>>
Naredbe višestrukog
pridruživanja omogućuju
pridruživanje onoliko izraza
odvojenih zarezima koliko je s
lijeve strane imena varijabli.
Primjer:
27
( zarezom odvajamo
višestruko pridruživanje, npr.,
zbroj, razlika = a+b, a-b )
Za primjer preračunavanja
sekundi u dane, sate i minute
prikladna je navedena funkcija
divmod.
Zadatak 8: primijenite
navedenu funkciju divmod u
zadatku sa sekundama za
proizvoljan unos vremena(u
sec.)
>>>sekunde=int ( input (
"unesite broj sekundi, ne manji
od 87000:" ) )
minute, sekunde = divmod
( sekunde, 60 )
sati, minute = divmod
( minute ,60 )
dani, sati = divmod ( sati ,24 )
print ( "dana:", dani, "; " , " sati:
" , sati, " ; " , " minuta: ",
minute, " ; " , " sekundi: ",
sekunde)
== RESTART:
H:/programiranje/Sekunde u
dane, sate, minute i
sekunde_divmod.py ==
28
unesite broj sekundi, ne manji
od 87000 : 98000
dana: 1 ; sati: 3 ; minuta: 13 ;
sekundi: 20
>>>
Naredbe višestrukog
pridruživanja možemo pisati i
tako da oko niza varijabli s
lijeve strane znaka
pridruživanja i oko niza
vrijednosti s desne strane
stavimo okrugle zagrade. Niz
varijabli napisan unutar
okruglih zagrada poseban je tip
podataka koji se naziva n-torka
(engl. tuple) pri čemu elementi
n-torki mogu biti različitih
osnovnih tipova, dakle možemo
miješati tipove int, float, string,
Boolean.
29