Выбрать главу

2 | # Если num больше ста выполняется код в строке 4 и выполнение переходит на строку 13, иначе выполняется проверка в строке 6

3 | if num > 100:

4 | print "Число больше ста"

5 | # Если num больше пятидесяти - выполняется код в строке 7 и выполнение переходит на строку 13, иначе выполняется проверка в строке 8 и т.д.

6 | elif num > 50:

7 | print "Число больше пятидесяти"

8 | elif num > 25:

9 | print "Число больше двадцати пяти"

10 | # Если результат всех проверок оказался ложным выполняется блок в строке 11, после чего переходим на строку 13

11 | else:

12 | print "Число меньше двадцати пяти"

13 | print "Финальная строка"

Базовый Python не поддерживает конструкцию switch/case, как, например, JavaScript, но ее возможно реализовать при помощи if...elif...else конструкции.

Вложенные условные конструкции в Python:

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

Например:

1 | if num > 100:

2 | if num < 150:

3 | print "Число больше ста, но меньше ста пятидесяти"

4 | elif num < 200:

5 | print "Число больше ста, но меньше двухсот"

6 | elif num > 50:

7 | if num < 90:

8 | print "Число больше пятидесяти, но меньше девяноста"

9 | else:

10 | print "Число больше пятидесяти и больше девяноста"

11 | else:

12 | print "Число меньше пятидесяти"

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

Циклы в Python

Published: 18 October 2014

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

* Цикл while

* Цикл for

Цикл while в Python:

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

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

1 | while условие:

2 | выражение

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

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

1 | money = 10 # создаем переменную money и присваиваем ей значение 10

2 | while money > 0: # Запускаем цикл

3 | print "We have %s dollars" % money

| # Мы внутри цикла. Печатаем сообщение

4 | money -= 1

| # Все еще внутри цикла. Уменьшаем на один переменную money

5 | print "No more money :( Time to work now"

| # Мы вне цикла. Печатаем сообщение

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

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

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

1 | num = 1

2 | while num < 10:

3 | print "Hello"

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

Цикл for в Python:

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

1 | for item in sequence:

2 | statement(s)

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