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