Розуміння циклів в 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, 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) і повністю виходимо з циклу. Через природу нашої проблеми, якщо ми знайдемо непарне значення в списку немає ніяких причин, щоб продовжувати тестування.
1215 6
Коментарі:
0
VTrim