Python повторить команду несколько раз

Python повторить команду несколько раз

Don’t learn to code. Code to learn!

  • Python — Обзор
  • Основы синтаксиса Python
  • Операторы в Python
  • Типы данных в Python
  • Условные конструкторы в Python
  • Циклы в Python
  • Функции в Python
  • Функциональное программирование в Python
  • ООП в Python
  • Модули в Python
  • Работа с файлами в Python
  • Обработка исключительных ситуаций в Python

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

Цикл while в Python:

Инструкция while в Python повторяет указанный блок кода до тех пор, пока указанное в цикле условие будет оставаться истинным.

Цикл while в Python записывается следующим образом:

При этом выражением может быть как одна так и несколько инструкций. Условием может быть любое истинное или ненулевое значение. Выражение будет повторяться, пока условие будет истинным.

Когда условие становится ложным интерпретатор переводит выполнение программы на строку, следующую за циклом. Рассмотрим следующий пример цикла while в Python:

money = 10 # создаем переменную money и присваиваем ей значение 10 while money > 0: # Запускаем цикл print "We have %s dollars" % money #Мы внутри цикла. Печатаем сообщение money -= 1 # Все еще внутри цикла. Уменьшаем на один переменную money print "No more money :( Time to work now" # Мы вне цикла. Печатаем сообщение

Запустив код, вы увидите следующий результат:

Читайте также:  Python package find version

python while loop, пример цикла while в Python

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

Цикл while становится бесконечным в случае, когда условие цикла никогда не становится ложным. Примером задачи для реализации которой необходим бесконечный цикл может быть, например, создание программы «Часы», которая бесконечно будет обновлять и отображать время. Однако, часто бесконечный цикл является ошибкой начинающего программиста, который забыл добавить изменение условия цикла. Например:

Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта — в shell нужно нажать Ctrl+C .

Цикл for в Python:

Цикл for в Python обладает способностью переберать элементы любого комплексного типа данных (например, строки или списка). В Python цикл for обладает следующим синтаксисом:

for item in sequence: statement(s)

Переменной item присваивается значение первого элемента sequence, после чего выполняется statement. Затем переменной item присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы sequence. Например:

word = "child" # строка word bag = ["knife","wallet", "pen","notebook"] # список bag countries = < "Swiss":"Bern", "Ukraine":"Kiev", "italy":"Rome", "Australia":"Canberra", "Japan":"Tokyo" ># словарь countries for letter in word: print letter # печатаем по букве из word for item in bag: print item # печатаем по элементу из bag for county in countries: # По умолчанию цикл for проходит по ключам словарей # Но нам не составит труда получить значения ключей print "The capital of %s is %s" % (country, countries[country])

Запустив код выше получим:

python for loop example, пример цикла for в Python

Перебор комплексных типов данных по индексам:

Другой способ прохода циклом for по комплексным типам данных является проход по индексам. Как вы помните, любой элемент последовательности можно получить по его индексу. Для генерации списка индексов воспользуемся встроенной функцией range(). Например:

week_days = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"] for index in range(len(week_days)): # функция len(sequence) возвращает длину (колчество элементов) в sequence print week_day[index]

В результате программа напечатает перечень дней недели.

Команда break в Python:

Команда break в Python прекращает выполнение цикла и переводит выполнение программы на строку следующую после цикла.

Команда break работает как в цикле while та и в цикле for. Например:

# -*- coding: utf-8 -*- Устанавливаем кириллицу # пример команды break в цикле for metals = ["Cu","Fe","Al","Au","U","Mg"] for item in metals: print item if item == "Au": print "Ура! Я нашел золото!" break print "--------- Начинаем другой цикл ----------" # пример команды break в цикле while age = 40 while True: print "Мой возраст %s. Должен ходить на работу :-(" % age age += 1 if age > 65: print "Ура! Наконец-то пенсия!" break

Запустив код выше получим такой результат:

python break statement, ключевое слово break в Python

Источник

Python циклы

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

Понятие циклов

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

В программировании циклы позволяют повторять некоторое действие в зависимости от соблюдения заданного условия. Таким образом организуется исполнение многократной последовательности инструкций.

Есть еще несколько важных понятий, которые нужно знать:

  • Телом цикла называется та последовательность кода, которую нужно выполнить несколько раз.
  • Единоразовое выполнение – это итерация.

Python позволяет также создавать вложенные циклы. Так, сначала программа запустит внешний и в первой его итерации перейдет во вложенный. Затем она снова вернется к началу внешнего и снова вызовет внутренний. Это будет происходить до тех пор, пока последовательность не завершится или не прервется. Такие циклы полезны в том случае, если нужно перебрать определенное количество элементов в списке.

В Python есть только два цикла: for и while. Первый используется по большей мере в тех случаях, когда нужно написать многоуровневую программу с множеством условий.

Цикл «for»

Цикл for в Python 3 выполняет написанный код повторно согласно введенной переменной или счетчику. Он используется только тогда, когда необходимо совершить перебор элементов заранее известное число раз. Что это значит? У нас имеется список, сначала из него берется первый элемент, потом – второй и так далее, но с каждым из них совершается действие, которое указано в теле for. Примерно это выглядит так:

for [элемент] in [последовательность]: [сделать указанное]

For может содержать данные разных типов: цифры, слова и пр. Рассмотрим пример:

for i in 10, 14, 'первый', 'второй': print(i)

На экране после запуска появится такая запись:

Для упрощения часто используется функция range(), или диапазон. В циклах она указывает на необходимое количество повторов последовательности, уточняя, какие именно элементы из списка for, нам необходимы в данный момент. В скобках может быть указано от одного до трех чисел:

  • одно указывает на то, что нужно проверить все числа от 0 и до него;
  • два говорят о том, что перебрать нужно все числа, находящиеся между ними;
  • три числа сгенерируют список от первого до второго, но с шагом, равным третьей цифре.

Рассмотрим пример. Теоретически вы можете записать так:

for i in [14, 15, 16, 17, 18]: print(i)

Но это слишком затратно, особенно если чисел слишком много, поэтому лучше сделать так, используя указанный выше range():

for i in range(14,18): print(i)

И в первом, и во втором случае на экране появится такая последовательность:

Цикл «while»

While с английского языка переводится, как «до тех пор, как». Это достаточно универсальный цикл, он немного похож на условие if, но его код выполняется не один раз. Его условие записывается до тела цикла. После того, как оно выполнено первый раз, программа возвращается к заголовку и снова повторяет все действия. Этот процесс заканчивается тогда, когда условие цикла больше не может быть соблюдено, иными словами перестает быть истинным. Тем, что заранее неизвестно количество проверок, он отличается от предыдущего цикла for. Кстати, еще его называют циклом с предусловием.

Запись цикла while в Python выглядит так:

while [условие истинно]: [сделать указанное]

Приведем пример использования этого цикла:

Здесь переменной присваивается значение 0, после чего начинается цикл, в котором проверяется условие, чтобы число было меньше 6. В теле цикла также содержится две инструкции: первая выводит само число на экран, а вторая увеличивает его значение на два. Цикл, таким образом, выполняется, пока условие продолжает быть истинным. На экране перед вами появится следующая последовательность чисел:

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

Обычно в ней есть смысл, только если указана инструкция break, но программа работает и без последней. Посмотрим на код:

Переменная – 3, задается условие, что пока она меньше 7, нужно выводить ее и выражение «меньше 7», затем прибавлять к ней 1. В тех случаях, когда она уже становится равной 7, то в ход пойдет условие, указанное в else, и на экране появится, что переменная не меньше 7. В результате выполнения этого кода мы увидим:

3 меньше 7 4 меньше 7 5 меньше 7 6 меньше 7 7 не меньше 7

Инструкции break и continue

Оператор break используется для выхода из цикла Python — прерывает его досрочно. Так, если во время выполнения кода, программа натыкается на break, то она сразу прекращает цикл и выходит из него, минуя else. Это необходимо, например, если при выполнении инструкций была обнаружена ошибка, и дальнейшая работа бессмысленна. Посмотрим на пример его применения:

while True: name = input(‘Введите имя:’) if name == ‘хватит’: break print(‘Привет’, имя)

Его реализация будет выглядеть так:

Введите имя: Ирина Привет Ирина Введите имя: Алексей Привет Алексей Введите имя: хватит

После этого выполнение программы будет прервано.

Другая инструкция, которая может менять цикл, — это continue. Если она указана внутри кода, то все оставшиеся инструкции до конца цикла пропускаются и начинается следующая итерация.

В целом, не следует слишком увлекаться использованием этих инструкций.

Цикл с постусловием

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

  • repeat [тут исполняемый код] until [условия продолжения];
  • do [тут исполняемый код] while [условия продолжения];

Цикл while может стать циклом с постусловием, тогда его примерный вид будет таким:

while True: if not условие: break
while condition is True: stuff() else: stuff()

Так получается, что сначала дается тело цикла, а потом задается условие.

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

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

Цикл while становится бесконечным, когда его условие не может быть ложным. Например, при помощи него можно реализовать программу «Часы», которая бесконечно отображает время.

Примером реализации в Python бесконечного цикла будет такой код:

Очевидно, что заданная переменная всегда останется цифрой 3, поскольку никак не задано ее увеличение, поэтому на экране просто будет появляться слово «Привет».

Зачастую цикл не должен быть бесконечным, поскольку это причина неустойчивой работы программы. Для того чтобы выйти из него, нужно нажать комбинацию клавиш: CTRL+C. При этом программы, из которых нет выхода, также существуют. К ним относятся: операционные системы, прошивки микроконтроллеров.

Вложенные циклы

Рассмотрим вложенные циклы в Python. Для реализации можно использовать как вложенные for, так и while.

Про них мы уже писали выше. Здесь же хочется привести пару примеров использования. Они очень часто используются при обработке двухмерных списков.

Вот пример создания двумерного списка и вывода его на экран с помощью print.

d = [[1,2,3],[4,5,6]] for i in range(2): for j in range(3): print(d[i][j])

Нельзя с помощью одного break в Python выйти сразу из двух циклов. В этом случае нужно во внешнем цикле создать условие следующим образом.

toExit = False while True: while True: toExit = doSomething() if toExit: break if toExit: break

Здесь приведен пример использования в Python цикла в цикле. Оба бесконечны. Все будет выполняться бесконечно, до тех пор, пока функция doSomething не вернет True. После этого поочередно сработают break во внешнем и во внутреннем циклах.

Заключение

Как правило, команды в коде выполняются последовательно: одна за другой. Именно поэтому, когда есть необходимость выполнить тело кода несколько раз, используются циклы. Циклы для Python очень значимы, именно они делают повторение простым, логичным и очень понятным.

Источник

Оцените статью