print( "привет" )
В квадратных скобках через запятую перечислены все значения переменной, при которых выполняется цикл. Если их много, такой способ неудобен, лучше использовать встроенную функ-цию range.
Обратите внимание, что последовательность, которую стро-
ит функция range, не бесконечна, то есть цикл с переменной
всегда заканчивается, программа не может зациклиться.
Рассмотрим ещё один пример. В информатике важную роль играют степени числа 2 (2, 4, 8, 16 и т.д.). Давайте выведем на экран все степени двойки от 21 до 210. Для решения этой задачи мы можем написать программу, использующую цикл с услови-ем:
power = 1 N = 2
while power <= 10 :
print( N ) N *= 2 power += 1
Вы наверняка заметили, что переменная power использу-
ется трижды (см. блоки, выделенные фоном): в операторе при-сваивания начального значения, в условии выполнения цикла и в теле цикла (увеличение на 1).
Чтобы собрать все действия с переменной power в один опе-
ратор, применим цикл по переменной. Нам нужно выполнить тело цикла при power = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Чтобы получить такой набор значений, нужно вызвать функцию range с двумя
61 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
аргументами: первый – это начальное значение (1), а второй –ограничитель, не входящий в последовательность (11):
N = 2
for power in range(1,11):
print( N ) N *= 2
Запись цикла получилась проще, и поэтому меньше шан-сов сделать ошибку.
Выясните, как переводятся на русский язык английские слова for, range и power.
Запишите циклы, с помощью которых можно вывести на экран
целые числа от a до b (a b);
квадраты целых чисел от a до b (a b).
Однако не любой цикл с условием может быть переписан как цикл с переменной. Если количество повторений цикла не-известно и не может быть найдено заранее (как в задаче с вы-числением суммы цифр числа), цикл по переменной использо-вать не удаётся.
С другой стороны, любой цикл по переменной можно заме-нить на равносильный цикл с условием: вместо вызова функции range придётся задать отдельно начальное значение перемен-ной цикла, условие продолжения цикла и правило изменения переменной цикла.
Рассмотрим ещё одну задачу – найдём сумму всех нату-ральных чисел от 1 до 1000. Для накопления суммы будем ис-пользовать переменную, которую назовём summa. В цикле дру-гая переменная (скажем, i) изменяется от 1 до 1000, и на каж-дом шаге этого цикла к сумме добавляется очередное значе-ние i:
summa = 0
for i in range(1,1001):
summa += i
Запишите циклы, с помощью которых можно вычислить
62 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
сумму целых чисел от a до b (a b);
сумму квадратов целых чисел от a до b (a b).
Достарыңызбен бөлісу: |