Циклы в Python

Часто возникают ситуации, в которых необходимо выполнить блок кода несколько раз. Как правило, команды выполняются одна вслед за другой, но существуют способы зациклить код. Во многих языках программирования для этой цели используются инструкции циклов.

Сегодня мы рассмотрим циклы в языке Python, а именно циклы for и while, операторах break и continue, а также слово else, которое, будучи употребленное с циклом, может сделать программный код несколько более понятным.

Цикл со счетчиком for

Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.

Как правило, цикл for используются либо для повторения какой-либо последовательности действий заданное число раз, либо для изменения значения переменной в цикле от некоторого начального значения до некоторого конечного. Например:

for i in 'hello world':
     print(i * 2, end='')

#выведет
hheelllloo  wwoorrlldd

Рассмотри пример – вывод чисел определенного диапазона:

for i in range(10):
    print(i, end=" ")

print()
# Выведет: 0 1 2 3 4 5 6 7 8 9

for i in range(0, 50, 5):
    print(i, end=" ")

print()
# Выведет: 0 5 10 15 20 25 30 35 40 45

for i in range(10, 0, -1):
    print(i, end=" ")

print()
# Выведет: 10 9 8 7 6 5 4 3 2 1

input("Нажмите Enter для выхода")

Первый цикл for выводит значения от 0 до 9. Указываем только верхнюю границу. Если нижняя граница не указана, то подразумевается, что это 0.

Второй цикл for работает от 0 до 50, а увеличение счетчика происходит сразу на 5 единиц.

Третий цикл работает от 10 до 0, уменьшение счетчика происходит на единицу (-1). Поэтому числа будут выведены в обратном порядке.

Функция range() возвращает последовательность цифр.

Цикл while

While – один из самых универсальных циклов в Python, поэтому довольно медленный. Он выполняет тело цикла до тех пор, пока условие цикла истинно. Например:

i = 5
while i < 15:
     print(i)
     i = i + 2

# выведет
5
7
9
11
13

Напишем небольшую программу с помощью цикла while. Листинг:

print("Угадай лучший автомобиль")
print("Название автомобиля нужно вводить строчными буквами")

response = ""
while response != "toyota":
  response = input("Какой авто самый лучший? ")
  
print("Ура! Правильно!")

input()

Вывод программы:


Циклы в Python

В коде мы создаем переменную “response”. Цикл while будет выполняться до тех пор, пока значение нашей переменной не будет равно “toyota”.

Как и в случае с оператором if, тело цикла может состоять из нескольких операторов, заключенных в один блок. Блоком считаются строки, следующие друг за другом, с одинаковым отступом.

С помощью оператора if вы можете улучшить нашу программу или придумать свою. Пишите в комментариях свои примеры программ с циклом while.

Бесконечный цикл

Неправильно составленное условие может привести к бесконечному циклу. Рассмотрим пример:

k = 10
while k > 5:
    print(k)
    k = k + 1

Цикл будет выполняться, пока k больше 5. Изначально k больше 5, далее значение k только увеличивается, поэтому получается бесконечный цикл.

Оператор continue

Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while). Например:

for i in 'hello world':
    if i == 'o':
       continue
     print(i * 2, end='')

# выведет
hheellll  wwrrlldd

Оператор break

Оператор break досрочно прерывает цикл. Например:

for i in 'hello world':
     if i == 'o':
         break
     print(i * 2, end='')

# выведет
hheellll

else

else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же “естественным” образом.

Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break. Например:

for i in 'hello world':
   if i == 'a':
      print('Буква существует!')
      break
   else:
      print('Буквы a в строке нет')
      break
input()

#выведет
Буквы a в строке нету

Программа “Уровень доступа”

Создадим небольшую программу используя логические операторы. Листинг:

level = 0

login = ""
while not login:
   login = input("Логин: ")

password = ""
while not password:
   password = input("Пароль: ")

if login == "root" and password == "qwerty":
   level = "Бог"
elif login == "max" and password == "max":
   level = "Ламер"
   
if level:
   print("Привет, ", login)
   print("Твой уровень доступа: ", level)
else:
   print("Хакерам здесь не рады!")
   
input()

По умолчанию уровень доступа равен 0. Если это так, то доступ закрыт. Если уровень отличается от 0, то программа выводит приветствие и сообщает уровень доступа.

В начале мы в двух циклах while запрашиваем логин и пароль. Благодаря наличию not мы будем запрашивать логин и пароль до тех пор, пока они не будут введены.

Далее мы сравниваем введенные значения с определенными константами и определяем уровень доступа.

Вывод программы:


Циклы в Python

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

5 ответов к “Циклы в Python”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Связи между моделями.

Связи между моделями.

В нашем проекте есть одна модель под названием “Объявления”. В этой статье мы создадим новый класс модели “Rubric”, которая будет представлять рубрики объявлений. Допишем в

 
Параметры полей и моделей.

Параметры полей и моделей.

Для того, чтобы наша административная панель Django выглядела более понятна для обычного пользователя необходимо указать правильные названия полей. Наша созданная модель представляется непонятной аббревиатурой “Bbs”,

 
Административный web-сайт Django.

Административный web-сайт Django.

Административный web-сайт предоставляет доступ ко всем моделям, объявленным во всех приложениях, что составляют проект. С помощью данной панели можно просматривать, добавлять, править и удалять записи,

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: