Циклы (`for`, `while`, `do-while`) — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (Новая страница: «Циклы позволяют повторять блок кода несколько раз, что делает их незаменимыми для автом…») |
Vshpagin (обсуждение | вклад) (→Типы циклов) |
||
| Строка 5: | Строка 5: | ||
Существует три основных типа циклов: | Существует три основных типа циклов: | ||
| − | + | *`for` | |
| − | + | *`while` | |
| − | + | *`do-while` (в Python имитируется) | |
| − | + | ===`for` цикл=== | |
| − | + | *Описание: `for` цикл используется для перебора элементов в последовательности (список, строка, кортеж и т.д.). | |
| − | + | *Синтаксис: | |
| − | + | ||
```python | ```python | ||
| Строка 19: | Строка 18: | ||
# Блок кода, выполняемый для каждого элемента | # Блок кода, выполняемый для каждого элемента | ||
``` | ``` | ||
| − | + | *Примеры: | |
| − | + | **Перебор списка: | |
```python | ```python | ||
| Строка 28: | Строка 27: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
| Строка 35: | Строка 34: | ||
вишня | вишня | ||
``` | ``` | ||
| − | + | **Перебор строки: | |
```python | ```python | ||
| Строка 43: | Строка 42: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
| Строка 52: | Строка 51: | ||
o | o | ||
``` | ``` | ||
| − | + | **Использование `range()` для итерации по числам: | |
```python | ```python | ||
| Строка 59: | Строка 58: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
| Строка 74: | Строка 73: | ||
* `stop`: Конечное значение (не включается). | * `stop`: Конечное значение (не включается). | ||
* `step` (необязательный): Шаг (по умолчанию 1). | * `step` (необязательный): Шаг (по умолчанию 1). | ||
| − | + | **Управление циклом: | |
* `break`: Прерывает цикл. | * `break`: Прерывает цикл. | ||
* `continue`: Переходит к следующей итерации. | * `continue`: Переходит к следующей итерации. | ||
| Строка 90: | Строка 89: | ||
``` | ``` | ||
| − | + | ===`while` цикл=== | |
| − | + | *Описание: | |
`while` цикл повторяет блок кода, пока условие истинно. | `while` цикл повторяет блок кода, пока условие истинно. | ||
| − | + | *Синтаксис: | |
```python | ```python | ||
| Строка 100: | Строка 99: | ||
# Блок кода, выполняемый, пока условие истинно | # Блок кода, выполняемый, пока условие истинно | ||
``` | ``` | ||
| − | + | *Примеры: | |
```python | ```python | ||
| Строка 109: | Строка 108: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
| Строка 118: | Строка 117: | ||
4 | 4 | ||
``` | ``` | ||
| − | + | *Бесконечный цикл (требует осторожности): | |
```python | ```python | ||
| Строка 125: | Строка 124: | ||
break # Используйте break для выхода | break # Используйте break для выхода | ||
``` | ``` | ||
| − | + | *Управление циклом: | |
| − | + | ** `break`: Прерывает цикл. | |
| − | + | ** `continue`: Переходит к следующей итерации. | |
```python | ```python | ||
| Строка 140: | Строка 139: | ||
``` | ``` | ||
| − | + | ===`do-while` цикл=== | |
| − | + | *Описание: | |
`do-while` цикл выполняет блок кода хотя бы один раз, а затем повторяет его, пока условие истинно. В Python нет встроенного `do-while` цикла, но его можно имитировать. | `do-while` цикл выполняет блок кода хотя бы один раз, а затем повторяет его, пока условие истинно. В Python нет встроенного `do-while` цикла, но его можно имитировать. | ||
| − | + | *Имитация в Python: | |
```python | ```python | ||
| Строка 153: | Строка 152: | ||
break # Выход из цикла, если условие выполнено | break # Выход из цикла, если условие выполнено | ||
``` | ``` | ||
| − | + | *Пример: | |
```python | ```python | ||
| Строка 164: | Строка 163: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
Версия 15:24, 8 марта 2025
Циклы позволяют повторять блок кода несколько раз, что делает их незаменимыми для автоматизации задач и обработки данных.
Содержание
Типы циклов
Существует три основных типа циклов:
- `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`: Для перехода к следующей итерации.
- Вложенные циклы: Для решения задач, требующих многократного повторения операций.