Последовательные действия описываются последовательными строками программы. Стоит, правда, добавить, что в программах важны отступы, поэтому все операторы, входящие в последовательность действий, должны иметь один и тот же отступ:
a = 1 b = 2 a = a + b b = a - b a = a - b print a, b
Что делает этот пример? Проверить свою догадку можно с помощью интерактивного режима интерпретатора Python.
При работе с Python в интерактивном режиме как бы вводится одна большая программа, состоящая из последовательных действий. В примере выше использованы операторы присваивания и оператор print.
Оператор условия и выбора
Разумеется, одними только последовательными действиями в программировании не обойтись, поэтому при написании алгоритмов используется еще и ветвление:
if a > b: c = a else: c = b
Этот кусок кода на Python интуитивно понятен каждому, кто помнит, что if поанглийски значит "если", а else - "иначе". Оператор ветвления имеет в данном случае две части, операторы каждой из которых записываются с отступом вправо относительно оператора ветвления. Более общий случай - оператор выбора - можно записать с помощью следующего синтаксиса (пример вычисления знака числа):
if a < 0: s = -1 elif a == 0:
s = 0 else: s = 1
Стоит заметить, что elif - это сокращенный else if. Без сокращения пришлось бы применять вложенный оператор ветвления:
if a < 0: s = -1 else: if a == 0: s = 0 else: s = 1
В отличие от оператора print, оператор if-else - составной оператор.
Циклы
Третьей необходимой алгоритмической конструкцией является цикл. С помощью цикла можно описать повторяющиеся действия. В Python имеются два вида циклов: цикл ПОКА (выполняется некоторое условие) и цикл ДЛЯ (всех значений последовательности). Следующий пример иллюстрирует цикл ПОКА на Python:
s = "abcdefghijklmnop" while s != "": print s
s = s[1:-1]
Оператор while говорит интерпретатору Python: "пока верно условие цикла, выполнять тело цикла ". В языке Python тело цикла выделяется отступом. Каждое исполнение тела циклабудет называться итерацией. В приведенном примере убирается первый и последний символ строки до тех пор, пока не останется пустая строка.
Для большей гибкости при организации циклов применяются операторы break (прервать) и continue (продолжить). Первый позволяет прервать цикл, а второй - продолжить цикл, перейдя к следующей итерации (если, конечно, выполняется условие цикла).
Следующий пример читает строки из файла и выводит те, у которых длина больше 5:
f = open("file.txt", "r") while 1:
l = f.readline() if not l: break if len(l) > 5: print l,
f.close()
В этом примере организован бесконечный цикл, который прерывается только при получении из файла пустой строки ( l ), что обозначает конец файла.
В языке Python логическое значение несет каждый объект: нули, пустые строки и последовательности, специальный объект None и логический литерал False имеют значение "ложь", а прочие объекты значение "истина". Для обозначения истины обычно используется 1 или True.