Циклы (`for`, `while`, `do-while`)
Материал из m6a
								Циклы позволяют повторять блок кода несколько раз, что делает их незаменимыми для автоматизации задач и обработки данных.
Содержание
Типы циклов
Существует три основных типа циклов:
- `for`
 - `while`
 - `do-while` (в Python имитируется)
 
`for` цикл
- Описание: `for` цикл используется для перебора элементов в последовательности (список, строка, кортеж и т.д.).
 - Синтаксис:
 
   ```python
   for элемент in последовательность:
       # Блок кода, выполняемый для каждого элемента
   ```
- Примеры:
- Перебор списка:
 
 
       ```python
       fruits = ["яблоко", "банан", "вишня"]
       for fruit in fruits:
           print(fruit)
       ```
Вывод:
       ```
       яблоко
       банан
       вишня
       ```
- Перебор строки:
 
       ```python
       text = "Hello"
       for char in text:
           print(char)
       ```
Вывод:
       ```
       H
       e
       l
       l
       o
       ```
- Использование `range()` для итерации по числам:
 
       ```python
       for i in range(5):
           print(i)
       ```
Вывод:
       ```
       0
       1
       2
       3
       4
       ```
`range(start, stop, step)`:
       *   `start` (необязательный): Начальное значение (по умолчанию 0).
       *   `stop`: Конечное значение (не включается).
       *   `step` (необязательный): Шаг (по умолчанию 1).
- Управление циклом:
 
* `break`: Прерывает цикл. * `continue`: Переходит к следующей итерации.
   ```python
   for i in range(10):
       if i == 5:
           break  # Прерывает цикл, когда i равно 5
       print(i)
   for i in range(10):
       if i % 2 == 0:
           continue  # Переходит к следующей итерации, если i четное
       print(i)
   ```
`while` цикл
- Описание:
 
`while` цикл повторяет блок кода, пока условие истинно.
- Синтаксис:
 
   ```python
   while условие:
       # Блок кода, выполняемый, пока условие истинно
   ```
- Примеры:
 
   ```python
   i = 0
   while i < 5:
       print(i)
       i += 1
   ```
Вывод:
``` 0 1 2 3 4 ```
- Бесконечный цикл (требует осторожности):
 
   ```python
   while True:
       print("Этот цикл будет выполняться бесконечно")
       break  # Используйте break для выхода
   ```
- Управление циклом:
- `break`: Прерывает цикл.
 - `continue`: Переходит к следующей итерации.
 
 
   ```python
   i = 0
   while i < 10:
       i += 1
       if i == 5:
           continue  # Пропускает вывод 5
       if i == 8:
           break  # Выходит из цикла, когда i равно 8
       print(i)
   ```
`do-while` цикл
- Описание:
 
`do-while` цикл выполняет блок кода хотя бы один раз, а затем повторяет его, пока условие истинно. В Python нет встроенного `do-while` цикла, но его можно имитировать.
- Имитация в Python:
 
   ```python
   while True:
       # Блок кода, выполняемый хотя бы один раз
       ...
       if условие:
           break  # Выход из цикла, если условие выполнено
   ```
- Пример:
 
   ```python
   i = 0
   while True:
       print(i)
       i += 1
       if i >= 5:
           break
   ```
Вывод:
``` 0 1 2 3 4 ```
Вложенные циклы
Циклы могут быть вложенными друг в друга.
- **Пример:**
 
   ```python
   for i in range(3):
       for j in range(3):
           print(i, j)
   ```
Вывод:
``` 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 ```
Практическое применение
- **Обработка элементов списка:**
 
   ```python
   numbers = [1, 2, 3, 4, 5]
   for number in numbers:
       print(number * 2)
   ```
- **Повторение операций, пока не будет достигнут определенный результат:**
 
```python import random
   number = random.randint(1, 100)
   guess = 0
   while guess != number:
       guess = int(input("Угадайте число от 1 до 100: "))
       if guess < number:
           print("Слишком мало")
       elif guess > number:
           print("Слишком много")
       else:
           print("Вы угадали!")
   ```
- **Создание таблиц:**
 
   ```python
   for i in range(1, 6):
       for j in range(1, 6):
           print(i * j, end='\t')
       print()
   ```
Ключевые моменты
- `for`: Идеален для перебора элементов в последовательностях.
 - `while`: Подходит, когда количество итераций неизвестно заранее и зависит от условия.
 - `do-while` (имитация): Гарантирует выполнение кода хотя бы один раз.
 - `break`: Для выхода из цикла.
 - `continue`: Для перехода к следующей итерации.
 - Вложенные циклы: Для решения задач, требующих многократного повторения операций.