4.3. Петље¶
У програмима које задајемо корњачи облици су често правилни и неке се наредбе понављају. Стога, као и у програмима за робота Карела, и у програмима за корњачу можемо користити петље. Подсетимо се, две основне петље у програмском језику Python су условна петља while и бројачка петља for.
Квадрат - петља¶
![](../_static/img/question-mark.png)
Исправи наредни програм тако да корњача црта квадрат чија је страница дугачка 100 корака.
Програм који исцртава квадрат можемо да скратимо ако уведемо наредбу
којом постижемо да се неки задати низ наредби понови више пута.
Већ знамо да је у језику Python то најлакше урадити помоћу наредбе for
.
Као што смо видели, наредбу ponovi n puta можемо записати и као for i in range(n):
.
Подсетимо се, не смемо да заборавимо двотачку, а наредбе које се понављају наводимо
увучене неколико размака у односу на положај наредбе for
.
Погледај наредни видео:
Правилни многоугао¶
![](../_static/img/question-mark.png)
Уопшти претходни програм тако да уместо цртања квадрата корњача црта неки други правилан полигон (на пример, једнакостраничан троугао, правилан петоугао, правилан шестоугао и слично).
Ако је дат број n, правилан n-тоугао (правилан полигон са n страна) добијамо тако што нацртамо n његових страница. Зато је цртање странице и окретање потребно поновити n пута. Након цртања сваке странице корњача треба да се окрене тачно за величину спољашњег угла полигона. Важи да је збир свих спољашњих углова у полигону једнак 360 степени, па пошто су сви они једнаки, сваки од њих је једнак количнику бројева 360 и n. Други начин да одредимо угао за који се корњача окреће у сваком кораку је да уочимо да она цртање почиње и завршава окренута ка истоку и да се, у међувремену, током цртања, окреће тачно за износ једног пуног круга, тј. за \(360^\circ\). Пошто се у сваком кораку окреће подједнако, окрет износи тачно \(\frac{360^\circ}{n}\). У програмском језику Python, количник бројева a и b можемо израчунати помоћу a / b (више речи о томе биће речено у поглављу о аритметичким операцијама и дељењу), па број \(\frac{360}{n}\) можемо израчунати помоћу 360/n.
Као и у претходним случајевима, твој задатак је да исправиш грешке у следећем програму.
Провери своје разумевање петљи тако што ћеш поређати наредбе програма у ком корњача исцртава једнакостранични троугао.
Q-39: Поређај делове кода тако да представљају исправно решење овог задатка.
import turtle
---
turtle.color("red")
---
for i in range(3):
---
turtle.forward(100)
---
turtle.left(120)
Испрекидана линија¶
![](../_static/img/question-mark.png)
У једном од претходних задатака нацртали смо испрекидану линију тако што смо више пута понављали исте наредбе. Скрати претходни програм коришћењем петље тако што ћеш нацртати испрекидану линију која се састоји од пет делова.
Погледај наредни видео:
Отисци корњаче¶
![](../_static/img/question-mark.png)
Напиши програм који коришћењем понављања исцртава 5 отисака корњаче размакнутих по 30 пиксела. Напиши програм без коришћења петље, а затим га скрати коришћењем петље.