Например:
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
Часто возникают ситуации, в которых вам необходимо выполнить блок кода несколько раз. Как правило, команды выполняются одна вслед за другой, но существуют способы зациклить код. Во многих языках программирования для этой цели используются инструкции циклов. В Python существуют следующют два типа цикличных выражений:
* Цикл while
* Цикл for
Цикл 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"
| # Мы вне цикла. Печатаем сообщение
Запустив код, вы увидите следующий результат:
1 | num = 1
2 | while num < 10:
3 | print "Hello"
Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта - в shell нужно нажать Ctrl+C.
1 | for item in sequence:
2 | statement(s)
Переменной item присваивается значение первого элемента sequence, после чего выполняется statement. Затем переменной item присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы sequence. Например:
1 | word = "child" # строка word
2 | bag = ["knife", "wallet", "pen", "notebook"] # список bag
3 | countries = {"Swiss":"Bern", "Ukraine":"Kiev",
"italy":"Rome", "Australia":"Canberra", "Japan":"Tokyo"} # словарь countries 4 |
5 | for letter in word:
6 | print letter # печатаем по букве из word
7 |
8 | for item in bag:
9 | print item # печатаем по элементу из bag
10 |
11 | for county in countries:
12 | # По умолчанию цикл for проходит по ключам словарей
13 | # Но нам не составит труда получить значения ключей
14 | print "The capital of %s is %s" % (country, countries[country])
Запустив код выше получим:
1 | week_days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
2 | for index in range
3 | (len (week_days)): # функция len(sequence) возвращает длину (колчество элементов) в sequence
4 | print week_day[index]
В результате программа напечатает перечень дней недели.
Команда break работает как в цикле while та и в цикле for. Например:
1 | # -*- coding: utf-8 -*- Устанавливаем кириллицу
2 | # пример команды break в цикле for
3 | metals = ["Cu", "Fe", "Al", "Au", "U", "Mg"]
4 | for item in metals:
5 | print item
6 | if item == "Au":
7 | print "Ура! Я нашел золото!"
8 | break
9 | print "--------- Начинаем другой цикл ----------"
10 | # пример команды break в цикле while
11 | age = 40
12 | while True:
13 | print "Мой возраст %s. Должен ходить на работу :-(" %age
14 | age += 1
15 | if age > 65:
16 | print "Ура! Наконец-то пенсия!"
17 | break
Запустив код выше получим такой результат:
Функции в Python
Функция это блок организованного, многократно используемоего кода, который используется для выполнения конкретного задания. Функции обеспечивают лучшую модульность приложения и значительно повышают уровень повторного использования кода.
* Блок функции начинается с ключевого слова def, после которого следуют название функции и круглые скобки ( () ).
* Любые аргументы, которые принимает функция должны находиться внутри этих скобок.
* После скобок идет двоеточие ( : ) и с новой строки с отступом начинается тело функции.
Пример функции в Python:
1 | def my_function(argument):
2 | print argument
Например:
my_function("abracadabra")
* Обязательные аргументы (Required arguments)
* Аргументы-ключевые слова (Keyword argument)
* Аргументы по умолчанию (Default argument)
* Аргументы произвольной длины (Variable-length argumens)
Например:
1 | def bigger(a,b):
2 | if a > b:
3 | print a
4 | else:
5 | print b
6 | # В описании функции указано, что она принимает 2 аргумента