Скрипте и for петља¶
Скрипте¶
Људи често у Пајтону пишу кратке програме које сами користе да би нешто израчунали или аутоматизовали. Такви програми су познати и под именом скрипте. За скрипте није необично да поједини или сви улазни подаци буду садржани у самој скрипти уместо да се учитавају. На пример, следећа скрипта рачуна цену са попустом од 20 одсто:
Упутство за коришћење ове скрипте би могло да буде: “У прве две линије скрипте поставите вредности које желите и затим покрените скрипту“.
Слично упутство нећете видети за програме које инсталирате на свој рачунар или мобилни телефон. Такве програме зовемо апликације, и они су писани тако да корисници не морају да знају (а најчешће и не могу да знају) како изгледају наредбе тог програма.
Код скрипти нема тако стриктне поделе на кориснике и програмере као код апликација. Скрипте се често пишу за сопствену употребу или за корисника који и сам програмира или разуме програмирање. Сви програми у овом приручнику су заправо више скрипте него апликације.
Већ смо нагласили да овај приручник није намењен само будућим професионалцима у програмирању. И ако не будете програмирали апликације, и даље можете имати користи од програмирања. Можда ћете написати неку скрипту или прилагодити неку постојећу, као што је то требало учинити у замишљеном упутству за скрипту из претходног примера.
Понављање рачунања за разне податке¶
Уопштимо претходни пример. Претпоставимо да у једној продавници имамо право на попуст од 20 одсто у односу на истакнуте цене. Интересују нас снижене цене разних производа, чије редовне цене знамо. Да бисмо добили све снижене цене које нас интересују, потребно је поновити наредбе за рачунање снижене цене.
Више покретања програма који учитава податке
Решење које већ умемо да напишемо је да програм учита редовну цену производа а затим израчуна и испише снижену цену. Тај програм може да изгледа овако:
Програм можемо да покренемо више пута, задајући сваки пут редовну цену по једног од производа који нас интересују.
Вишеструки улазни подаци у самом програму
У случају када су нам унапред познате све редовне цене производа који нас интеесују, више покретања програма и уношење једне по једне цене није најудобнији начин да добијемо све снижене цене. Уместо тога, удобније би било да све редовне цене унесемо директно у програм и да за сваки од тих података поновимо рачунање и исписивање резултата.
Наредба for¶
Да бисмо могли да поновимо неки део програма за разне податке, потребна нам је наредба for, која омогућава понављање других наредби. Сада ћемо упознати један начин коришћења наредбе for, а још неке начине ћемо упознати током наредних лекција.
Вратимо се примеру са попустом. Рецимо да су редовне цене производа који нас интересују 250, 120 и 310 и желимо да помоћу програма у једном извршавању израчунамо цене са попустом за те производе. То можемо да урадимо овако:
Напомена: Запис облика (250, 120, 310) се у математици зове уређена n-торка (уређена енторка), али у програмирању је одомаћено краће име - торка.
Покретањем програма видимо да он исписује:
250 200.0
120 96.0
310 248.0
Примећујемо да су се последње две линије програма извршиле три пута, при чему је променљива редовна_цена добијала редом вредности 250, 120, 310. То смо постигли наредбом for
. Делови програма који се понављају се често називају петљама, па можемо рећи да смо у претходном примеру употребили for петљу.
На следећој слици су означени главни елементи овог облика for петље:

Црвеном бојом су написани обавезни елементи (речи
for
,in
и знак двотачка:
у првом реду). Ови елементи се у свакој for наредби пишу на исти начин.Плавом бојом је написана променљива петље. На том месту пишемо име променљиве која ће узимати редом наведене вредности. У нашем примеру променљива петље је redovna_cena.
Зеленом бојом је написана торка вредности. На том месту у заградама пишемо вредности раздвојене зарезима. То су вредности које ће редом узимати променљива петље. У нашем примеру торка вредности је (250, 120, 310).
Црном бојом је написано тело петље. То су наредбе које се по једанпут извршавају за сваку вредност променљиве петље. У наредбама тела петље може, а не мора да се користи променљива петље.
Наредбе тела петље се пишу увучено у односу на први ред наредбе for и све се увлаче за исти број размака. Уобичајено је да се користи 4 размака за увлачење и ми ћемо се држати те препоруке.
Примери и задаци¶
Пример - када поћи
Драгољуб треба да стигне на одредиште најкасније у 17:00. Зависно од начина путовања који одабере, Драгољубу може да буде потребно 55, 70, 85, или 95 минута. Напишите програм који за сваки начин путовања исписује када најкасније Драгољуб треба да пође да би на време стигао на одредиште.
Програм који решава овај задатак, могао би да изгледа овако:
Задатак - трајање пута
Ђорђе намерава да у 9 сати ујутро крене аутом на пут од 600 километара и интересује га када би стигао на одредиште ако би возио средњом брзином од 90, 100, 120 или 130 километара на сат. Допуните програм који исписује време стизања на одредиште за сваку од поменутих средњих брзина.
Задатак - завршна оцена
Збир досадашњих 5 Пертрових оцена је 23. Петар очекује још једну оцену са завршног контролног задатка. Допуните програм који за сваку могућу завршну оцену (1, 2, 3, 4, или 5) исписује колика би била средња оцена у том случају.
Задатак - џепарац
Марина прави план трошења џепарца током летовања од 14 дана. Напишите програм који за просечне дневне потрошње од 5, 10 или 20 евра исписује колико би у сваком од тих случајева Марини укупно требало новца.