Основы программирования на Python Циклы — это инструкции, выполняющие одну и туже последовательность действий, пока действует заданное условие. В реальной жизни мы довольно часто сталкиваемся с циклами. Например, ходьба человека — вполне циклическое явление: шаг левой, шаг правой, снова левой-правой и т.д., пока не будет достигнута определенная цель (например, школа или магазин). В компьютерных программах наряду с инструкциями ветвлениями (т.е. выбором пути действия) также существуют инструкции циклов (повторения действия). Если бы инструкций цикла не существовало, пришлось бы много раз вставлять в программу один и тот же код подряд столько раз, сколько нужно выполнить одинаковую последовательность действий. Универсальным организатором цикла в языке программирования Python (как и во многих других языках) является конструкция while. Слово "while" с английского языка переводится как "пока" ("пока логическое выражение возвращает истину, выполнять определенные операции"). Конструкцию while на языке Python можно описать следующей схемой: ![]() Эта схема приблизительна, т.к. логическое выражение в заголовке цикла while может быть более сложным, а изменяться может переменная (или выражение) b. Может возникнуть вопрос: "Зачем изменять a или b?". Когда выполнение программного кода доходит до цикла while, выполняется логическое выражение в заголовке, и, если было получено True (истина), выполняются вложенные выражения. После поток выполнения программы снова возвращается в заголовок цикла while, и снова проверяется условие. Если условие никогда не будет ложным, то не будет причин остановки цикла и программа зациклится. Чтобы этого не произошло, необходимо предусмотреть возможность выхода из цикла — ложность выражения в заголовке. Таким образом, изменяя значение переменной в теле цикла, можно довести логическое выражение до ложности. ![]() Эту изменяемую переменную, которая используется в заголовке цикла while, обычно называют счетчиком. Как и всякой переменной ей можно давать произвольные имена, однако очень часто используют буквы i и j. Простейший цикл на языке программирования Python может выглядеть так: str1 = "+" i = 0 while i < 10: print (str1) i = i + 1 В последней строчке кода происходит увеличение значения переменной i на единицу, поэтому с каждым оборотом цикла ее значение увеличивается. Когда будет достигнуто число 10, логическое выражение i < 10 даст ложный результат, выполнение тела цикла будет прекращено, а поток выполнения программы перейдет на команды следующие за всей конструкцией цикла. Результатом выполнения скрипта приведенного выше является вывод на экран десяти знаков + в столбик. Если увеличивать счетчик в теле цикла не на единицу, а на 2, то будет выведено только пять знаков, т.к цикл сделает лишь пять оборотов. Более сложный пример с использованием цикла: fib1 = 0 fib2 = 1 print (fib1) print (fib2) n = 10 i = 0 while i < n: fib_sum = fib1 + fib2 print (fib_sum) fib1 = fib2 fib2 = fib_sum i = i + 1 Этот пример выводит числа Фибоначчи — ряд чисел, в котором каждое последующее число равно сумме двух предыдущих: 0, 1, 1, 2, 3, 5, 8, 13 и т.д. Скрипт выводит двенадцать членов ряда: два (0 и 1) выводятся вне цикла и десять выводятся в результате выполнения цикла. Как это происходит? Вводятся две переменные (fib1 и fib2), которым присваиваются начальные значения. Присваиваются значения переменной n и счетчику i, между которыми те или иные математические отношения формируют желаемое число витков цикла. Внутри цикла создается переменная fib_sum, которой присваивается сумма двух предыдущих членов ряда, и ее же значение выводится на экран. Далее изменяются значения fib1 и fib2 (первому присваивается второе, а второму - сумма), а также увеличивается значение счетчика. Практическая работа
|
|||




Домашнее задание
Задание 1:
Задание 2. (Каждое третье в диапазоне [-21;-1])
Подскажите как правильно ответить
Хочу вставить свою работу, так что бы команды подсвечивались не получается, я не знаю как. А практическую работу кажется сделал, но показать не могу.
Чтобы код был с подсветкой
Чтобы код был с подсветкой синтаксиса обрамите его html-тегом code. Для этого можно просто выделить код и нажать на кнопку "<>".
2 вопрос
Правильно второй вопрос реализован?
В смысле, получается правильно, но какой эталонный вариант?
x = -1 while x > -21:
Почему уменьшаете на 2, если нужен лишь каждый третий элемент?
Переменную из логического выражения в данном случае проще изменять в конце цикла, а не в начале.
Если -21 должно входить в диапазон, то выражение в заголовке цикла while должно быть таким x >= -21.
Точно не знаю, но вряд ли в программировании бывают эталонные варианты. Можно по разному. Обычно исходят из того, какой код быстрее работает и легче воспринимается программистом (более очевиден).
От нуля до 20 есть способ
От нуля до 20 есть способ нуль выводить как-то иначе, или такой вариант оптимальный?
чем хуже for x in xrange(0,
чем хуже
for x in xrange(0, 20, 2):
print x
?)
+ там где от -1 до -21 нужно поправить на "от -21 до -1"...
Тем, что xrange еще не
Тем, что xrange еще не проходили..
Чего его сюда тулить?
Другого способа повышения самооценки не придумал?
Лучше, если с ней
Лучше, если с ней знакомы.
Кстати xrange в python 3 нет. Только range.
i = 0 while i <= 20:
while
Можно, для особо одарёных,покаэать ответы
на домашнее задание.
ответы на дом. задание
1. задание
2. задание
Python-whil
Thank you very much! (Спасибо!)