Циклы: программа повторяет действия
Одна из главных сил программирования, возможность делать что-то много раз без повторения кода. Для этого существуют циклы.
Зачем нужны циклы
Представь, что нужно поздороваться с каждым из 100 пользователей. Писать print 100 раз, безумие. Цикл делает это за тебя.
Или представь автоматический обзвон: программа берёт следующий номер из списка, звонит, записывает результат, берёт следующий, и так пока список не закончится. Это цикл.
Цикл for: когда знаешь сколько раз
Используй for когда нужно пройтись по каждому элементу коллекции:
fruits = ["яблоко", "банан", "вишня"]
for fruit in fruits:
print(fruit)
Читается вслух: "для каждого фрукта в списке fruits, напечатай его".
Результат:
яблоко
банан
вишня
range(), повторить N раз
Если нужно просто повторить действие определённое число раз:
for i in range(5):
print(f"Шаг {i}")
range(5) создаёт последовательность 0, 1, 2, 3, 4. Обрати внимание, начинается с нуля.
# range(начало, конец), конец не включается
for i in range(1, 6):
print(i) # 1, 2, 3, 4, 5
Цикл while: когда не знаешь сколько раз
Используй while когда нужно повторять пока выполняется условие:
attempts = 0
password = ""
while password != "secret123":
password = input("Введи пароль: ")
attempts += 1
print(f"Правильно! Попыток: {attempts}")
Цикл будет крутиться сколько угодно раз, пока пользователь не введёт правильный пароль.
break и continue, управление циклом
# break, выйти из цикла досрочно
for i in range(10):
if i == 5:
break # стоп, выходим
print(i) # напечатает 0, 1, 2, 3, 4
# continue, пропустить эту итерацию
for i in range(10):
if i % 2 == 0:
continue # пропускаем чётные
print(i) # напечатает 1, 3, 5, 7, 9
Цикл внутри цикла
for i in range(1, 4):
for j in range(1, 4):
print(f"{i} × {j} = {i*j}")
print("---")
Внешний цикл делает 3 итерации, на каждой внутренний тоже делает 3. Итого 9 строк + 3 разделителя.
💡 Главная мысль:
for, когда знаешь по чему итерироваться.while, когда нужно крутиться пока выполняется условие. Циклы, это то, что делает компьютеры полезными: они не устают повторять действия.