Цикл for
завжди виглядає так. item \- ім'я змінної, що ми вибираємо.
Коли ми перебираємо список, кожен його елемент буде присвоєно змінній item в
блоці коду циклу. Ми використовуємо for
, коли хочемо переглянути кожний
елемент послідовності. Так блок коду всередині for
, буде виконуватися один
раз для кожного елемента в послідовності.
Цикл while
Цикл while
використовується для повторного виконання інструкції до тих пір,
поки умова істинна. На відміну від for
, while
не пов'язаний з якою-небудь
послідовністю. Ось простий приклад, щоб роздрукувати всі парні числа, менші 100.
i = 0
while i < 100:
if i % 2 == 0:
print i
i = i + 1
У цьому прикладі ми встановлюємо лічильник i
. Тоді ми встановлюємо в циклі
while
умову виконання i <= 100
, наш код виконується поки результат умови
істинний (true). Потім перевіряємо нашу змінну на парність, виконуючи ділення
по модулю. В кінці нам потрібно вручну збільшити наш лічильник i = i + 1
.
Таким чином в кожній ітерації значення i буде збільшуватися на 1.
Continue в циклах
Іноді ви хочете перейти до наступної ітерації без виконання деякого коду.
Continue
можна використовувати, як в for
, так і в while
. Ми можемо
переписати попередній приклад з використанням continue
:
for item in xrange(100):
if not item % 2 == 0:
continue
print item
Цей приклад робить те ж саме, за винятком того, що ми використовуємо for
і
xrange. Xrange дає нам ряд чисел від 0 до 100. Замість друку парних чисел
ми переходимо до наступної ітерації, якщо це непарне число. Continue
означає, що код нижче нього не буде виконуватися, а замість цього ми перейдемо
до наступної ітерації циклу.
Break
У деяких випадках ми хочемо зупинити виконання коду в цілому, якщо якась умова виконується в циклі. Наприклад, якщо ми хочемо перевірити список, щоб побачити, чи містить він будь-які непарні числа, ми можемо зробити це таким чином:
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) і повністю виходимо
з циклу. Через природу нашої проблеми, якщо ми знайдемо непарне значення в
списку немає ніяких причин, щоб продовжувати тестування.
Ще немає коментарів