break, continue, pass¶
Python має кілька операторів, які дозволяють змінювати поведінку циклів за замовчуванням.
Оператор break¶
Оператор break дозволяє достроково перервати цикл:
- break перериває поточний цикл і продовжує виконання наступних виразів
- якщо використовується кілька вкладених циклів, break перериває внутрішній цикл і продовжує виконувати вирази, що йдуть за блоком
- break може використовуватися в циклах for та while
Приклад із циклом for:
In [1]: for num in range(10):
...: if num < 7:
...: print(num)
...: else:
...: break
...:
0
1
2
3
4
5
6
Приклад із циклом while:
In [2]: i = 0
In [3]: while i < 10:
...: if i == 5:
...: break
...: else:
...: print(i)
...: i += 1
...:
0
1
2
3
4
Використання break у прикладі із запитом пароля (файл check_password_with_while_break.py):
username = input("Введіть ім'я користувача: ")
password = input("Введіть пароль: ")
while True:
if len(password) < 8:
print("Пароль надто короткий\n")
elif username in password:
print("Пароль містить ім'я користувача\n")
else:
print("Пароль для користувача {} встановлено".format(username))
# завершує цикл while
break
password = input("Введіть пароль ще раз: ")
Тепер можна не повторювати рядок
password = input("Введіть пароль ще раз: ")
у кожному відгалуженні, достатньо перенести його в кінець циклу.
І як тільки буде введено правильний пароль, break виведе програму з циклу while.
Оператор continue¶
Оператор continue повертає керування на початок циклу. Тобто, continue дозволяє "перестрибнути" вирази, що залишилися в циклі і перейти до наступної ітерації.
Приклад із циклом for:
Результат
Приклад із циклом while:
i = 0
while i < 6:
i += 1
if i == 3:
print("Пропускаємо 3")
continue
print("Це ніхто не побачить")
else:
print("Поточне значення: ", i)
Вивід
Поточне значення: 1
Поточне значення: 2
Пропускаємо 3
Поточне значення: 4
Поточне значення: 5
Поточне значення: 6
Використання continue у прикладі із запитом пароля (файл check_password_with_while_continue.py):
username = input("Введіть ім'я користувача: ")
password = input("Введіть пароль: ")
password_correct = False
while not password_correct:
if len(password) < 8:
print("Пароль надто короткий\n")
elif username in password:
print("Пароль містить ім'я користувача\n")
else:
print("Пароль для користувача {} встановлено'.format(username))
password_correct = True
continue
password = input("Введіть пароль ще раз: ")
Тут вихід із циклу виконуються за допомогою перевірки змінної-прапорця password_correct. Коли було введено правильний пароль, прапор виставляється рівним True, і з допомогою continue виконується перехід початку циклу, перескочивши останній рядок із запитом пароля.
Результат виконання буде таким:
$ python check_password_with_while_continue.py
Введіть ім'я користувача: nata
Введіть пароль: nata12
Пароль надто короткий
Введіть пароль ще раз: natalksdjflsdjf
Пароль містить ім'я користувача
Введіть пароль ще раз: asdfsujljhdflaskjdfh
Пароль для користувача nata встановлено
Оператор pass¶
Оператор pass нічого не робить. Фактично це така заглушка для блоків коду.
Наприклад, pass може допомогти ситуації, коли потрібно прописати структуру скрипта. Його можна ставити у циклах, функціях, класах. І це не впливатиме на виконання коду.
Приклад використання pass:
Результат