5.3. Функције¶
Угнежђене петље се могу избећи, а програми се могу учинити много разумљивијим ако се уведу функције за цртање основних облика. Такође, функције имају и друге примене и доносе вишеструку корист током програмирања а то ће бити објашњено касније.
Функција за цртање многоугла¶
Приметимо да се цртање многоугла (каже се и полигона) јавило у више различитих програма. Стога је корисно дефинисати функцију која служи за цртање многоугла. Параметри те функције биће број страница полигона и дужина једне странице.
Дефиниција функције започета је кључном речју def
, након чега је
наведен назив функције (у нашем примеру, то је био poligon
), а
потом параметри функције у заградама (када их има више раздвајају се зарезима).
Параметри су јој потребни да би могла да изврши задатак. Након двотачке, наведен је
програмски код који чини тело функције, увучен у односу на прву
линију (слично као што је и тело наредби for
, while
и if
увек увучено). Тело сачињавају наредбе које се извршавају сваки пут
када се функција позове.
Дефинисањем функције дефинисали смо заправо нову наредбу коју можемо
користити у програму. Након ове дефиниције, квадрат чија је страница дужине 100
пиксела нацртаћемо тако што наведемо poligon(4, 100)
, а шестоугао
димензије 50 тако што наведемо poligon(6, 50)
. Са функцијом за
цртање многоугла на располагању, наш програм за цртање три квадрата
различите боје је доста једноставније написати и постаје доста
разумљивији.
Покушај да измениш претходни програм тако да уместо квадрата црта три шестоугла дужине страница 80 пиксела.
Четири квадрата¶

Напиши програм у којем корњача црта облик који се састоји од четири квадрата, како је приказано на наредној слици.

Дефиниши функцију за цртање квадрата, а затим размисли како су ти квадрати међусобно распоређени, тј. колико треба да се окрене корњача након што заврши са цртањем сваког квадрата.
Решење са петљом у петљи.
Решење са помоћном функцијом за цртање квадрата.