Циклы (`for`, `while`, `do-while`) — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (→`do-while` цикл) |
Vshpagin (обсуждение | вклад) (→`for` цикл) |
||
| (не показано 6 промежуточных версий этого же участника) | |||
| Строка 19: | Строка 19: | ||
``` | ``` | ||
*Примеры: | *Примеры: | ||
| − | + | *Перебор списка: | |
```python | ```python | ||
| Строка 34: | Строка 34: | ||
вишня | вишня | ||
``` | ``` | ||
| − | + | *Перебор строки: | |
```python | ```python | ||
| Строка 51: | Строка 51: | ||
o | o | ||
``` | ``` | ||
| − | + | *Использование `range()` для итерации по числам: | |
```python | ```python | ||
| Строка 73: | Строка 73: | ||
* `stop`: Конечное значение (не включается). | * `stop`: Конечное значение (не включается). | ||
* `step` (необязательный): Шаг (по умолчанию 1). | * `step` (необязательный): Шаг (по умолчанию 1). | ||
| − | + | *Управление циклом: | |
| − | + | ** `break`: Прерывает цикл. | |
| − | + | ** `continue`: Переходит к следующей итерации. | |
```python | ```python | ||
| Строка 91: | Строка 91: | ||
===`while` цикл=== | ===`while` цикл=== | ||
| − | *Описание: | + | *Описание: `while` цикл повторяет блок кода, пока условие истинно. |
| − | + | ||
*Синтаксис: | *Синтаксис: | ||
| Строка 141: | Строка 140: | ||
===`do-while` цикл=== | ===`do-while` цикл=== | ||
| − | *Описание: | + | *Описание: `do-while` цикл выполняет блок кода хотя бы один раз, а затем повторяет его, пока условие истинно. В Python нет встроенного `do-while` цикла, но его можно имитировать. |
| − | `do-while` цикл выполняет блок кода хотя бы один раз, а затем повторяет его, пока условие истинно. В Python нет встроенного `do-while` цикла, но его можно имитировать. | + | |
*Имитация в Python: | *Имитация в Python: | ||
| Строка 177: | Строка 175: | ||
Циклы могут быть вложенными друг в друга. | Циклы могут быть вложенными друг в друга. | ||
| − | + | *Пример: | |
```python | ```python | ||
| Строка 185: | Строка 183: | ||
``` | ``` | ||
| − | + | Вывод: | |
``` | ``` | ||
| Строка 201: | Строка 199: | ||
==Практическое применение== | ==Практическое применение== | ||
| − | + | *Обработка элементов списка: | |
```python | ```python | ||
| Строка 208: | Строка 206: | ||
print(number * 2) | print(number * 2) | ||
``` | ``` | ||
| − | + | *Повторение операций, пока не будет достигнут определенный результат: | |
```python | ```python | ||
| Строка 224: | Строка 222: | ||
print("Вы угадали!") | print("Вы угадали!") | ||
``` | ``` | ||
| − | + | *Создание таблиц: | |
```python | ```python | ||
Текущая версия на 16:12, 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`: Для перехода к следующей итерации.
- Вложенные циклы: Для решения задач, требующих многократного повторения операций.