Оператор за цикъл FOR в Python
1. Какво е цикъл и защо ни е нужен?
Представи си, че трябва да напишеш „Здравей!“ 100 пъти. Вместо да копираш един и същ код 100 пъти, използваме цикъл. Цикълът for се използва, когато знаем точно колко пъти искаме да се повтори дадено действие.
2. Синтаксис (Как се пише?)
В Python цикълът for изглежда ето така:
for i in range(5):
print("Здравей!")
-
for– ключова дума, с която започваме. -
i– променлива (брояч), която се променя при всяко завъртане. -
range(5)– функцията, която казва колко пъти да се върти цикълът (в случая 5 пъти: от 0 до 4). -
Двоеточието (
:) – задължително! То казва: „Следва списък с команди“. -
Навътре (Indentation) – командите, които искаме да се повтарят, трябва да са леко вдлъбнати навътре (обикновено с клавиша Tab).
3. Функцията range()
Тя е двигателят на нашия цикъл. Може да я използваме по три начина:
-
range(5)– брои от 0 до 4 (5 числа). -
range(2, 6)– започва от 2 и спира преди 6 (ще изведе 2, 3, 4, 5). -
range(1, 10, 2)– започва от 1, спира преди 10 и се движи през 2 (ще изведе 1, 3, 5, 7, 9).
4. Практическа задача: „Математик“
Да напишем програма, която извежда таблицата за умножение с числото 5.
print("Таблица за умножение с 5:")
for i in range(1, 11):
rezultat = i * 5
print(i, "* 5 =", rezultat)
Важно: Обърни внимание, че
range(1, 11)включва 1, но не включва 11. Така получаваме точно числата от 1 до 10.
5. Упражнение за теб
Опитай се да промениш кода така, че:
-
Да извежда числата от 10 до 1 в обратен ред. (Подсказка: използвай
range(10, 0, -1)). -
Да събере всички числа от 1 до 100 и да изведе крайния сбор.
6. Цикълът for и текстови низове (Strings)
Знаеш ли, че в Python текстовете се разглеждат като поредица от символи? Можем да използваме for, за да „преминем“ през всяка буква.
Пример: „Разбивач на думи“
duma = "PYTHON"
for bukva in duma:
print("Буква:", bukva)
Тук променливата bukva приема стойността на всяка буква една по една.
7. Натрупване на стойност (Сумиране)
Това е една от най-честите употреби на цикъла. Използваме променлива (често наричана "акумулатор"), която „събира“ резултатите.
Пример: Пресмятане на среден успех
Представи си, че имаш 5 оценки и искаш да намериш техния сбор:
sbor = 0
for i in range(5):
ocenka = int(input("Въведи оценка: "))
sbor = sbor + ocenka
print("Общият сбор на оценките е:", sbor)
print("Среден успех:", sbor / 5)
8. Използване на if вътре в for
Циклите стават много мощни, когато в тях добавим проверка на условие. Така можем да филтрираме данни.
Пример: Да намерим само четните числа
Програмата ще провери числата от 1 до 20 и ще отпечата само тези, които се делят на 2 без остатък.
print("Четните числа до 20 са:")
for chislo in range(1, 21):
if chislo % 2 == 0: # Проверка дали остатъкът при деление на 2 е нула
print(chislo)
9. Сравнителна таблица на параметрите на range()
За да не се объркваш кога какво се случва в скобите, виж тази таблица:
| Код | Начало | Край (не се включва) | Стъпка | Резултат |
range(3) |
0 | 3 | 1 | 0, 1, 2 |
range(5, 8) |
5 | 8 | 1 | 5, 6, 7 |
range(0, 10, 2) |
0 | 10 | 2 | 0, 2, 4, 6, 8 |
range(10, 0, -1) |
10 | 0 | -1 | 10, 9, 8, ..., 1 |
Предизвикателство за теб:
Опитай се да напишеш програма, която пита потребителя колко пъти иска да се повтори един символ (например звезда *) и след това го отпечатва толкова пъти с помощта на for.
Модулът Turtle (Костенурка) е най-добрият начин да „видиш“ как работи цикълът for в действие. Вместо просто числа на екрана, ще получиш истински геометрични фигури.
Представи си, че костенурката е малко роботче с молив, което изпълнява твоите команди.
10. Първи стъпки с Turtle
За да започнем, първо трябва да повикаме костенурката с import turtle.
Задача: Начертаване на квадрат
Без цикъл бихме написали 8 реда код. С цикъл for ни трябват само 3:
import turtle
t = turtle.Turtle() # Създаваме нашата костенурка
for i in range(4):
t.forward(100) # Върви напред 100 стъпки
t.left(90) # Завърти се наляво на 90 градуса (прав ъгъл)
turtle.done() # Казваме на прозореца да остане отворен
11. Магията на ъглите (Чертане на многоъгълници)
Знаеш ли, че можеш да начертаеш всякакъв правилен многоъгълник, ако знаеш едно просто математическо правило? Сборът от външните ъгли на всяка фигура винаги е 360°.
външният ъгъл = 360 / броя на страните
Пример: Начертаване на шестоъгълник
import turtle
t = turtle.Turtle()
strani = 6
agul = 360 / strani # Изчисляваме ъгъла автоматично (60 градуса)
for i in range(strani):
t.forward(80)
t.left(agul)
12. Създаване на сложни фигури (Спирали)
Ако променяме малко дължината на страната при всяко завъртане, можем да създадем невероятни графики.
Пример: Цветна квадратна спирала
import turtle
t = turtle.Turtle()
t.speed(0) # Най-бързата скорост
colors = ["red", "purple", "blue", "green", "orange", "yellow"]
for x in range(100):
t.pencolor(colors[x % 6]) # Сменя цвета на всяка линия
t.forward(x * 2) # Линията става все по-дълга
t.left(59) # Завъртане на малко по-малко от 60 градуса
Какво научихме?
-
Повторение: Цикълът
forни спестява време и прави кода по-кратък. -
Променлива на цикъла: Променливата (като
iилиx) се променя автоматично при всяко завъртане. -
Креативност: С комбиниране на математика (
range, ъгли) и програмиране можем да създаваме изкуство.