Python изисква кодът да бъде подреден по строго определен начин, за да работи и както можете да си представите, това става сложно, когато започнем да влагаме оператори един в друг. Тук ще ви покажем няколко неща, за които да внимавате когато пишете код, както и добри практики за отбягване на често срещани грешки.

Необходимо е да се абонирате за FLLCasts.com, за да достъпите това видео
- #1633
- 12 Jun 2020
Отместен код показва на Python, че той е вложен в оператор. Ето един пример за вложен код в оператор "while":
while (условие):
(вложен код в оператор "while")
(вложен код в оператор "while")
(вложен код в оператор "while")
...
Няма изискване за това колко трябва да бъде отместен вложеният код от началото на реда, но е важно всеки ред да бъде отместен на едно и също разстояние, за да работи.
while (условие): (вложен код в оператор "while") (вложен код в оператор "while") (вложен код в оператор "while") ...
За да не се допуска тази грешка, много програмисти използват бутона "Tab", който подравнява кода на определени редове, разположени на 4 символа разстояние.
При влагане на оператори един в друг, кода на всеки един от тях се отмества с още едно ниво по-надясно:
while (условие): (вложен код в оператор "while") (вложен код в оператор "while") if (условие): (вложен код в оператор "if") (вложен код в оператор "if") ...
Наличието на вложен оператор не поставя край на кода, за оператора, в който е вложен. Пример:
while (условие): (вложен код в оператор "while") (вложен код в оператор "while") if (условие): (вложен код в оператор "if") (вложен код в оператор "if") (вложен код в оператор "while") (вложен код в оператор "while") ...
Забележете, че последните два реда от вложения код в оператора "while" са отместени само на един "tab" разстояние, което ги прави част от кода на цикъла "while", но не и част от оператора "if". Тези два реда код ще се изпълняват при всяко повторение на цикъла, независимо от оператора "if" и неговото условие.
Влагането на оператори и отместване на код не е ограничено до влагане само на един оператор и за да можем по-лесно да го следим, VS-Code поставя линии в кода ни, които ни показват началото и края на всеки вложен код:
while (условие): | (вложен код в оператор "while") | (вложен код в оператор "while") | | if (условие): | | (вложен код в оператор "if") | | (вложен код в оператор "if") | | | | while (условие): | | | (вложен код в оператор "while") | | | (вложен код в оператор "while") | | | | (вложен код в оператор "if") | | else: | | (вложен код в оператор "else") | | (вложен код в оператор "else") | | if (условие): | | (вложен код в оператор "if") | | (вложен код в оператор "if") | | (вложен код в оператор "while") | (вложен код в оператор "while") (код извън оператор) (код извън оператор) ...
Както виждате, наличието на празни редове в началото и края на всеки оператор, прави кода ни значително по-четлив.
Курсове и занятия включващи този Урок
Този Урок е използван в следните курсове и занятия.

Python за EV3 LEGO Mindstorms - ниво 2
Във второто ниво по Python за EV3 роботи учениците изучават в дълбочина сензора за допир. Сензорът се разглежда както като средство за ръчно управление на машини, така и като сензор за автономни роботи. В няколко занятия учениците изграждат пулт за управление на хващача и движението на кран. От страна на програмирането учениците изучават конструкциите за разклоняване на код "if-else", условните и безкрайни цикли с "while" и операторът за обръщане на условие "not". В края на нивото роботите могат да усещат препятствия които да избягват и излизат от простичък лабиринт.
- 39
- 19:58
- 93

Занятие 3 - Tабло за управление на движението на кран
Въведение
Днес продължавате да надграждате над пулта за упраление от предходното занятие, като създадете робот, управляван с жестове.
Някои сензори за жестове работят чрез активиране на близко намиращи се сензори в кратък период от време. Вие ще използвате два сензора за допир, за да симулирате този процес и да си създадете собствен сензор за жестове.
- 3
- 4
- 6
- 3d_rotation 2