У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Циклы в Python

В Python есть два вида циклов. В этом руководстве мы рассмотрим как цикл for, так и цикл while. Мы также рассмотрим, как управлять этими циклами с помощью continue и break.

Цикл for

Цикл for в Python используется для перебора типов данных последовательности. Некоторыми примерами типов данных последовательности в Python являются: строка, список, кортеж, xrange и т.д. Предположим, у вас есть список:

my_list = [2, 3, 5, 7, 11]

Для перебора этого списка с помощью цикла for вы можете сделать следующее: 

for item in my_list: 
    print item

Цикл for всегда выглядит следующим образом. item - это имя переменной, которую мы выбираем. По мере итерации по списку каждый элемент будет назначен переменной item в блоке кода. 

For используются, когда мы хотим посмотреть на каждый элемент в некоторой последовательности. Таким образом, блок кода внутри цикла for является кодом, который будет выполнен один раз для каждого элемента в последовательности.

Цикл while

Цикл while используется для многократного выполнения оператора, пока условие выполняется. В отличие от циклов for, не связан ни с одной последовательностью. Циклы for повторяются для всех элементов последовательности, но циклы while повторяются до тех пор, пока условие имеет значение True. Вот простой пример для печати всех чётных чисел меньше 100. 

i = 0 
while i < 100: 
    if i % 2 == 0: 
       print i 
    i = i + 1

В этом примере мы устанавливаем счетчик i. Затем мы устанавливаем цикл while для выполнения следующего оператора, если условие i <= 100 имеет значение True. Оператор просто проверяет, является ли число, которое мы тестируем, True, используя оператор по модулю. В этом случае нам нужно вручную увеличить счетчик, поэтому мы заканчиваем блок кода с i = i + 1. Таким образом, каждый раз, когда мы выполняем цикл, значение i будет увеличиваться на 1.

Пропуск итерации в цикле

Иногда вы захотите перейти к следующей итерации, не выполняя код внутри цикла. Continue можно использовать одинаково как для циклов for, так и для циклов while. Мы могли бы переписать предыдущий пример, используя continue. 

for item in xrange(100): 
    if not item % 2 == 0: 
        continue 
    print item

Он делает то же самое, за исключением того, что мы используем цикл for и xrange. Xrange дает нам диапазон чисел от 0 до 100. И вместо того, чтобы печатать элемент, если он четный, мы продолжаем следующую итерацию, если он не четный. Оператор continue означает, что мы не будем выполнять код, следующий за ним, а вместо этого перейдем к следующей итерации цикла.

Прерывание выполнения цикла

В некоторых случаях мы захотим полностью прекратить выполнение кода, если в цикле выполняется условие. Например, если мы хотим проверить список, чтобы увидеть, содержит ли он какие-то нечетные числа, мы можем сделать слудющие: 

test_list = [2, 4, 6, 8, 9, 10] 
contains_odd = False 

for item in test_list: 
    if not item % 2 == 0: 
        contains_odd = True 
        break

В этом случае мы настраиваем список тестов под названием test_list. Он содержит некоторые произвольные значения. Затем мы устанавливаем флажок contains_odd. Мы начнем с предположения, что список не содержит нечетных чисел, затем переберем список и проверяем каждое значение. Если мы найдем нечетное число, мы установим параметру contains_odd значение True и полностью выйдем из цикла. Из-за характера нашей проблемы, если мы найдем нечетное значение в списке, нет смысла продолжать тестирование.

#Python