Первые шаги к программированию
🕛 11.07.2009, 13:13
Конечно, мы можем использовать Python для более сложных задач, чем "два плюс два". Например, можно вывести начало ряда Фибоначчи:>>> # Ряд Фибоначчи: ... # сумма двух предыдущих элементов определяет ... # следующий ... a, b = 0, 1 >>> while b < 10: ... print b ... a, b = b, a+b ... 1 1 2 3 5 8
Этот пример знакомит с несколькими новыми особенностями.
* Первая строка содержит множественное присваивание (multiple assignment): переменным a и b одновременно присваиваются новые значения 0 и 1. В последней строке оно используется снова, демонстрируя, что выражения в правой части вычисляются до того как будет осуществлено присваивание. Выражения в правой части вычисляются слева направо. * Цикл while выполняется пока условие (здесь: b < 10) является истинным. В Python, как и в С, любое ненулевое значение является истиной, ноль - ложь. В качестве условия может служить также строка, список - на самом деле любая последовательность. Последовательность с ненулевой длиной является истиной, пустая - ложью. Проверка, использованная в примере, является простым сравнением. Стандартные операторы сравнения записываются так же, как в С: <, >, ==, <= (меньше или равно), >= (больше или равно) и != (не равно). * Тело цикла записано с отступом: отступы используются в языке Python для записи группирующих инструкций. Интерпретатор (пока) не предоставляет разумных средств редактирования вводимых строк, поэтому Вам необходимо нажимать клавишу табуляции или пробела для каждой строки с отступом. На практике Вы будете готовить более сложный ввод для Python с помощью текстового редактора, большинство из которых позволяют делать сдвиг автоматически. Когда составная инструкция вводится интерактивно, за ним должна следовать пуста строка, как признак завершения (поскольку синтаксический анализатор не может угадать, когда Вы ввели последнюю строку). Заметим, что сдвиг строк внутри блока должен быть одинаковым. * Инструкция print выводит переданные ей значения. В отличие от простого вывода значений интерпретатором в интерактивном режиме (которым мы пользовались ранее в примерах использования интерпретатора в качестве калькулятора), инструкция print выводит строки без кавычек и между элементами вставляет пробел, так что Вы можете удобно форматировать вывод:
>>> i = 256*256 >>> print 'Значение переменной i равно', i Значение переменной i равно 65536 Завершающая запятая позволяет после вывода значения вставлять пробел вместо перехода на новую строку: >>> a, b = 0, 1 >>> while b < 1000: ... print b, ... a, b = b, a+b ... 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987Обратите внимание, что интерпретатор переходит на новую строку перед выводом следующего приглашения, даже если последняя выведенная строка не завершается переходом на новую строку.