Циклы являются одной из основополагающих структур программирования, позволяющих выполнять повторяющиеся действия. В языке Python существует два основных типа циклов: for
и while
. В этом лонгриде мы рассмотрим задачи на циклы в Python, подробно разберем каждый тип циклов и приведем примеры их использования.
Python самоучительПриглашаю изучить наш
Введение в циклы в Python
Циклы позволяют выполнять блок кода несколько раз, пока выполняется определенное условие. Это мощный инструмент, который помогает автоматизировать повторяющиеся задачи и обрабатывать большие объемы данных.
Цикл for
в Python
Цикл for
используется для итерации по последовательностям (например, спискам, строкам, диапазонам). Он позволяет выполнять блок кода для каждого элемента последовательности.
# Пример использования цикла for
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
Примеры задач с циклом for
1. Сумма чисел в списке
numbers = [1, 2, 3, 4, 5]
total_sum = 0
for number in numbers:
total_sum += number
print("Сумма чисел:", total_sum)
2. Поиск максимального числа в списке
numbers = [1, 2, 3, 4, 5]
max_number = numbers[0]
for number in numbers:
if number > max_number:
max_number = number
print("Максимальное число:", max_number)
3. Факториал числа
n = 5
factorial = 1
for i in range(1, n + 1):
factorial *= i
print("Факториал числа", n, "равен", factorial)
Цикл while
в Python
Цикл while
выполняет блок кода до тех пор, пока условие истинно. Это полезно, когда количество итераций заранее неизвестно.
# Пример использования цикла while
count = 0
while count < 5:
print(count)
count += 1
Примеры задач с циклом while
1. Сумма чисел от 1 до n
n = 10
total_sum = 0
i = 1
while i <= n:
total_sum += i
i += 1
print("Сумма чисел от 1 до", n, "равна", total_sum)
2. Угадай число
import random
target_number = random.randint(1, 100)
guess = None
while guess != target_number:
guess = int(input("Угадайте число от 1 до 100: "))
if guess < target_number:
print("Слишком маленькое!")
elif guess > target_number:
print("Слишком большое!")
print("Поздравляем! Вы угадали число:", target_number)
3. Нахождение наибольшего общего делителя (НОД)
a = 56
b = 98
while b != 0:
a, b = b, a % b
print("Наибольший общий делитель:", a)
Как закончить цикл в Python?
Для завершения выполнения цикла досрочно используется инструкция break
. Она мгновенно завершает выполнение цикла, выходя из него.
for i in range(10):
if i == 5:
break
print(i)
Как остановить основной цикл в Python?
Чтобы остановить основной цикл, можно использовать комбинацию условий и инструкции break
.
while True:
user_input = input("Введите команду (exit для выхода): ")
if user_input == "exit":
break
Как ускорить цикл for
в Python?
Для ускорения цикла for
можно использовать различные оптимизации, такие как:
- Использование встроенных функций (например,
sum()
,max()
) - Использование генераторов вместо списков
- Параллельная обработка с использованием библиотеки
multiprocessing
# Использование встроенной функции sum
numbers = [1, 2, 3, 4, 5]
total_sum = sum(numbers)
print("Сумма чисел:", total_sum)
Как пропустить итерацию цикла в Python?
Для пропуска текущей итерации цикла используется инструкция continue
. Она завершает текущую итерацию и переходит к следующей.
for i in range(10):
if i % 2 == 0:
continue
print(i)