Итерации по последовательностям и выполнение повторяющихся действий
Цикл for используется для итерации по элементам последовательности (список, строка, кортеж, словарь и др.) и выполнения повторяющихся действий.
Цикл for в Python имеет следующий синтаксис:
# Простейший пример цикла for
for i in range(5):
print(f"Итерация №{i}")
print("Цикл завершен")
Цикл for может работать с разными типами последовательностей:
Тип | Пример | Результат итерации |
---|---|---|
Строка | "hello" | По одному символу |
Список | [1, 2, 3] | По одному элементу |
Кортеж | (4, 5, 6) | По одному элементу |
Словарь | {"a": 1, "b": 2} | По ключам (или парам ключ-значение) |
range | range(5) | Числа в указанном диапазоне |
# Примеры итерации по разным типам
# Итерация по строке
word = "Python"
for letter in word:
print(letter)
# Итерация по списку
numbers = [10, 20, 30]
for num in numbers:
print(num * 2)
# Итерация по словарю
grades = {"Маша": 5, "Петя": 4, "Вася": 3}
for name in grades:
print(f"{name}: {grades[name]}")
range()
создает последовательность чисел, часто используемую в циклах for:
# range(stop) - от 0 до stop-1
for i in range(5):
print(i)
# range(start, stop) - от start до stop-1
for i in range(3, 7):
print(i)
# range(start, stop, step) - с шагом step
for i in range(0, 10, 2):
print(i)
# Отрицательный шаг
for i in range(5, 0, -1):
print(i)
Циклы могут содержать другие циклы внутри себя:
# Таблица умножения
for i in range(1, 6):
for j in range(1, 6):
print(f"{i} x {j} = {i * j}")
print() # Пустая строка между таблицами
break
- досрочно прерывает выполнение цикла
continue
- пропускает текущую итерацию и переходит к следующей
# Пример break - поиск первого четного числа
numbers = [1, 3, 5, 6, 7, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"Найдено четное число: {num}")
break
print(f"Проверяем {num}")
# Пример continue - печать только нечетных чисел
for i in range(10):
if i % 2 == 0:
continue
print(i)
Напишите программу, которая:
1. Запрашивает у пользователя число N
2. Вычисляет сумму всех чисел от 1 до N
3. Выводит результат
n = int(input("Введите число N: "))
total = 0
for i in range(1, n + 1):
total += i
print(f"Сумма чисел от 1 до {n} равна {total}")
Напишите программу, которая:
1. Запрашивает у пользователя число N
2. Находит все простые числа меньше N
3. Выводит их в одну строку через запятую
n = int(input("Введите число N: "))
primes = []
for num in range(2, n):
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
primes.append(str(num))
print("Простые числа:", ", ".join(primes))
Напишите программу, которая:
1. Запрашивает у пользователя размер фигуры (число N)
2. Рисует прямоугольный треугольник из звездочек:
*
**
***
... (N строк)
n = int(input("Введите размер фигуры: "))
for i in range(1, n + 1):
print('*' * i)