Циклы
Одна итерация - это выполнение цикла 1 раз
Год - это 12 итераций: январь, февраль...
for
for ii in range(10):
print('Python is awesome!')
for название_переменной_цикла in range( количество_повторений ):
блок кода
Цикл в питоне всегда начинается с нуля
for _ in range(5):
print('Python - awesome!')
for range
Цикл for
и функция range
в Python
range
— это функция, которая создаёт последовательность чисел.
Её часто используют в цикле for
, чтобы выполнять повторяющиеся действия.
Как работает range
:
1 range(конец)
Создаёт последовательность от 0
до числа конец
(не включая его).
for i in range(5):
print(i)
# Вывод: 0, 1, 2, 3, 4
2 range(начало, конец)
Создаёт последовательность от числа начало
до числа конец
(не включая его).
for i in range(2, 6):
print(i)
# Вывод: 2, 3, 4, 5
Количество итераций при использовании 2х параметров рассчитывается как конец
минус начало
6 - 2 = 4
Всего - 4 итерации
3 range(начало, конец, шаг)
Создаёт последовательность с шагом (может быть положительным или отрицательным).
Пример с положительным шагом:
for i in range(1, 10, 2):
print(i)
# Вывод: 1, 3, 5, 7, 9
Пример с отрицательным шагом:
for i in range(5, 0, -1):
print(i)
# Вывод: 5, 4, 3, 2, 1
Отличия:
- 1 параметр: считает с
0
до указанного числа. - 2 параметра: задаёт начало и конец.
- 3 параметра: добавляет шаг (включая отрицательный, для обратного отсчёта).
Это очень удобно для создания циклов!
while
Цикл while
называют циклом с предусловием
Цикл while
может не выполнятся ни разу
for | повторяется определённое количество раз | counting loops |
while | повторяется неопределённое количество раз ( возможно, бесконечно ) | conditional loops |
while условие:
блок кода
Блок кода под двоеточием с отступом называется телом цикла
i = 0
while i < 10:
print('Привет')
i += 1
num = int(input())
while num != -1:
print('Квадрат вашего числа равен:', num * num)
num = int(input())
Цикл for
всегда можно заменить на цикл while
text = input()
total = 0
while text != 'stop':
total += int(text)
text = input()
print('Сумма чисел равна', total)
Бесконечные циклы можно прерывать с помощью оператора прерывания break
Обработка цифр числа
n = int(input())
while n != 0:
last_digit = n % 10
n = n // 10
break, continue
Для прерывания цикла используется оператор break
while True:
break
Следующий код проверяет, число простое или не простое (составное)
num = int(input())
flag = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
flag = False
break
if num > 1 and flag == True:
print('Число простое')
else:
print('Число составное')
Для перехода к следующей итерации цикла используется оператор continue
for i in range(10):
continue
print("никогда") # эта строка не будет выполнена
else
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
print("Нашли число 3!")
break # Останавливаем цикл, если нашли 3
else:
# Срабатывает, только если цикл не был прерван
print("Число 3 не найдено.")
Источник stepik.org