Циклы (`for`, `while`, `do-while`)
Материал из m6a
Версия от 15:20, 8 марта 2025; Vshpagin (обсуждение | вклад) (Новая страница: «Циклы позволяют повторять блок кода несколько раз, что делает их незаменимыми для автом…»)
Циклы позволяют повторять блок кода несколько раз, что делает их незаменимыми для автоматизации задач и обработки данных.
Типы циклов
Существует три основных типа циклов:
1. `for` 2. `while` 3. `do-while` (в Python имитируется)
- 1. `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)
```
- 2. `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)
```
- 3. `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`: Для перехода к следующей итерации.
- Вложенные циклы: Для решения задач, требующих многократного повторения операций.