12.07.2015 Views

Python

Python

Python

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

36 Programsko upravljanjeistoj naredbenoj liniji neposredno iza dvoto£ja (':') kojim se zavr²ava jedan ili vi²e uvjetnih ispitivanja.Dakako, mogu¢e je isto napisati i u idu¢em retku, ali se onda mora koristiti uvlaka. Mnogi koji rade u<strong>Python</strong>u smatraju stil odvojenih linija £itljivijim od onog u drugim programskim jezicima:if x < 0print "x je negativan"elif x % 2:print "x je pozitivan i neparan"else:print "x is paran i ne-negativan"Za uvjet u if ili elif odlomku moºe se koristiti bilo koji <strong>Python</strong>-ov izraz. Pritom se vrijednostizraza promatra u Bool-ovom kontekstu, gdje se svaka vrijednost uzima kao istinita, ili neistinita. Svakibroj koji nije nula ili niz znakova koji nije prazan, isto kao i n-terac, lista ili rje£nik, izra£unava sekao istinito (True). Nula (bilo kojeg brojevnog tipa), None i prazni stringovi, n-terci, liste i rje£nici,izra£unavaju se kao neistina (False). Kada se pak ºeli ispitati vrijednost x-a u Bool-ovom kontekstu,preporu£uje se sljede¢i stil kodiranja:if x:To je naj£i²¢i i 'naj_<strong>Python</strong>-skiji' oblik. To je elegantnije i ljep²e nego koristiti konstrukcije kao:if x is True:if x == True:if bool(x) :ili sli£no.Postoji osnovna razlika izmežu izjave da izraz "vra¢a True" (²to zna£i da izraz vra¢a vrijednostkao Bool-ov rezultat) i izjave da se izraz "izra£unava kao istinit" (²to zna£i da izraz vra¢a bilo kakavrezultat koji je istinit, razli£it od nule ili praznog, u Bool-ovom kontekstu). Kad se ispituje neki izraz uupravlja£koj naredbi, onda se razmi²lja o ovom drugom uvjetu, a ne prvom. Ako se izraz za if odlomakizra£una kao istinit, naredbe koje slijede if odlomak ¢e se izvr²iti i cijela naredba if zavr²ava. Akose izraz za if odlomak izra£una kao neistinit, onda se izvr²avaju izrazi za idu¢e elif odlomke, ako sunjihovi uvjeti ispunjeni. Za prvu elseif klauzulu za koju je uvjet istinit, izvr²avaju se sve narede kojeje slijede i £itava naredba if time zavr²ava. U protivnom, ako niti jedan elif odlomak nije izvr²en, jeruvjeti nisu bili zadovoljeni, onda se izvr²avaju naredbe odlomka else, dakako, ako on postoji.4.2 Naredba whileNaredba while u <strong>Python</strong>u izvr²ava naredbu ili blok naredbi niti jedan, jedan ili vi²e puta, ovisno oispunjenju upravljanog uvjetnog izraza. Ovo je sintaksa za naredbu while:while izraz:naredba(e)While naredba takožer moºe uklju£ivati klauzulu else i naredbe break.Tipi£na uporaba naredbe while:count = 0while x > 0:x = x // 2 # cjelobrojno dijeljenjecount += 1print "Aproksimacija log2 je", count

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!