Friday, October 8, 2010

Урок 2, в котором мы познаем радость циклов.

Целью этого урока будет помочь Барту Симпсону:



Бедняга стоит у доски и пишет 10 раз одно и то же предложение. А что бы сделали мы, великие покорители пайтона, если бы нас попросили написать 10 раз одно и то же? Мы бы научились писать циклы.

Цикл это программная структура у которой есть:
1. Ключевое слово
2. Условие
3. Список команд
Когда пайтон увидит ключевое слово обозначающее что впереди цикл, он посмотрит на условие и пока условие соблюдается, раз за разом будет повторять весь список команд.

Расмотрим пример Барта:
Условие - 10 раз
Команда - написать "I will not illegally download this movie".

Для того чтобы выполнить некое условие 10 раз нам нужна переменная, которая будет выполнять роль счетчика. В начале будет равна 0, каждый раз когда мы будем писать на доске она будет увеличиваться на 1, а в условие мы поставим проверку что эта переменная меньше 10. Итого:
i=0
while i<10:
    i=i+1
    print "I will not illegally download this movie"
Тут читатель должен возмутиться, мы же только на прошлом уроке говорили что у переменных должно быть значимое имя, а тут какой-то i, и он будет прав. Однако i является общепринятым именем в мире программирования для переменной которая простой счетчик (сокращение от англ. iterator).

Важно отметить, создание отступа для вложенных команд (3 и 4 строки) обычно считается хорошим тоном в программировании, но в случае пайтона является суровой необходимостью. У пайтона нет символов начала/конца цикла, и он догадывается какие из команд "принадлежат" циклу на основании их отступа от команды цикла. Если бы Барт попросил нас разбить запись на две строки - "I will not" и "illegally download this movie", а так-же в конце добавить его подпись, новая программа выглядела бы так:
i=0
while i<10:
    i=i+1
    print "I will not"
    print "illegally download this movie"
print "by Bart Simpson"

Домашнее задание:

Напишите все числа фибоначчи меньше 100.