Циклы (`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`: Для перехода к следующей итерации.
- Вложенные циклы: Для решения задач, требующих многократного повторения операций.