у подножия, на склонах гор, растут лиственные леса. их образуют дуб, граб, липа, клен, бук. выше - холоднее, поэтому появляются хвойные деревья - пихта и ель европейская, которую называют смереко. из лиственных преобладает бук. лес становится смешанным. подлесок лиственных и смешанных лесов образуют кусты малины, лещины, ежевики, шиповника. на опушках и полянах растут травянистые растения, большинство из них лекарственные. под деревьями много грибов: белых, подберезовики, подосиновиков, маслята, опята. чем выше подниматься в горы, тем лиственных деревьев все меньше. лес становится хвойным. кроме ели и пихты, в нем растет лиственница. хвойные деревья более холодостойкие, чем лиственные. хвойный лес темный, влажный. почва между деревьями покрыта мхами. на лужайках растут кустики брусники и черники. на вершинах карпат хвойные леса сменяются кустарниками из сосны горной и можжевельника. за ними раскинулись горные луга - полонины. они покрыты травянистыми растениями. в карпатских горах водятся такие же животные, что и в природных зонах на равнинах. это звери: олень благородный, заяц, лисица, волк, куница, выдры, дикая свинья, барсук, белка. птицы - тетерев, рябчик, дятел пестрый, синица черная и синица чубатая, многие певчие перелетные птицы. но есть животные, которые чаще встречаются именно в карпатах. среди зверей - медведь бурый, лесной кот, рысь, из птиц - аист черный, орел, беркут, шишкарь еловый, дятел черный, змиеед. только в карпатских лесах встречаются: белка карпатская, полевки снежные, глухари карпатские. пресмыкающихся и земноводных в горах не много видов. это саламандра пятнистая, тритон карпатский, полоз лесной, ящерица живородная, лягушка прудовая и квакша. в быстрых горных реках водится рыба форель. в лесной подстилке, на деревьях, кустах и травянистых растениях живут насекомые и их личинки. чтобы сохранить природу карпат, созданы заповедники: карпатский и горганы.
В цикле с условием while цикл выполняется, пока истинно задающее его условие. Поэтому этот цикл также иногда называют циклом "пока". Часто цикл while используется, когда невозможно заранее предсказать, сколько раз необходимо выполнить тело цикла. В повседневной жизни цикл while можно встретить в алгоритмах, вроде "Пока в пределах видимости есть машины, стоять на месте" или "Пока в ящике есть детали, достать деталь из ящика".
В следующей программе цикл while используется подобно циклу for для вывода на экран всех чисел от 1 до 10:
i=1
while i<=10:
print i
i=i+1
В этой программе переменной i присваивается значение 1. Затем начинается цикл (ключевое слово while) с проверяемым условием i<=10. Тело цикла содержит две инструкции: вывод на экран значения переменной i и увеличение значения переменной i на 1.
При выполнении этого цикла проверяется условие i<=10. Поскольку значение i изначально равно 1, то условие верно и выполняется тело цикла: на экран выводится значение переменной i, то есть 1 и переменной i присваивается значение i+1, то есть 2. Снова проверяется условие, поскольку оно верно, то выполняется блок цикла: на экран выводится число 2 и переменной i присваивается значение 3. Опять проверяется значение цикла, и так далее до тех пор, пока проверяемое условие истинно.
Как только проверяемое условие станет ложно (это произойдет, когда переменная i станет равна 11), цикл завершит работу и управление будет передано следующей инструкции после блока цикла. Поэтому после завершения цикла переменная i будет иметь значение 11.
В общем виде синтаксис цикла с условием в языке Питон такой:
while условие:
инструкция 1
инструкция 2
...
инструкция n
В каждой инструкции while должны присутствовать:
Условие, определяющее, будет ли выполняться тело цикла. Это условие записывается после слова while и может быть произвольным арифметическим выражением, в котором должен быть хотя бы один из операторов ==, !=, <, >, <=, >= и могут использоваться логические операторы and, or, not. После условия ставится двоеточие.
Тело цикла, состоящее из одной или нескольких инструкций, записанных с отступом одинаковой величины.
Инструкции, изменяющие значения переменных, входящих в проверяемое условие. В рассмотренном примере это инструкция i=i+1. Если бы этой инструкции не было, то значение переменной i не менялось бы и проверяемое условие всегда было бы истинным, что привело бы к бесконечному циклу. Для прерывания работы программы, попавшей в бесконечный цикл, используется комбинация клавиш Ctrl+C.
Цикл while в Питоне всегда можно использовать вместо цикла for. Однако иногда цикл for удобней, а иногда удобней цикл while, как в следующем примере, где вычисляется наименьшая степень двойки, которая превосходит данное число n:
n=input("Введите натуральное число")
i=0
while 2**i<=n:
i=i+1
print "2 в степени",i,"превосходит данное число"
В этом примере переменная i внутри цикла увеличивается на 1, пока значение 2**i не превосходит n. После окончания цикла величина 2**i будет больше n, и соответствующее значение i будет напечатано на экране.
Внутри цикла могут быть различные другие инструкции, в том числе инструкции if, while и for. В этом случае говорят о вложенных циклах, или об условной инструкции, вложенной в цикл. Тело вложенного цикла выделяется от цикла, в который оно вложено, большей величиной отступа.
Рассмотрим два примера. В первом примере программа печатает на экран все натуральные делители данного натурального числа n. Для этого используется цикл, в котором переменная i меняется от 1 до n, а внутри цикла проверяется условие, и если остаток от деления n на i равен 0, то печатается значение i:
n=input("Введите число, для которого необходимо вывести делители")
i=1
while i<=n:
if n%i==0:
print i
i=i+1
В следующем примере на экран печатается таблица умножения всех однозначных чисел. Для этого организовано два цикла: в одном переменная i меняется от 1 до 9, внутри этого цикла (то есть при каждом новом значении i) переменная j также меняется от 1 до 9. В блоке вложенного цикла на экран печатаются значения переменных i, j и их произведение:
i=1
while i<10: # Условие внешнего цикла по i
j=1
while j<10: # Условие внутреннего цикла по j
print i, "*", j, "=", i*j
j=j+1 # Инструкция-итератор вложенного цикла
i=i+1 # Инструкция-итератор внешнего цикла
С использованием циклов for этот пример можно записать короче:
у подножия, на склонах гор, растут лиственные леса. их образуют дуб, граб, липа, клен, бук. выше - холоднее, поэтому появляются хвойные деревья - пихта и ель европейская, которую называют смереко. из лиственных преобладает бук. лес становится смешанным. подлесок лиственных и смешанных лесов образуют кусты малины, лещины, ежевики, шиповника. на опушках и полянах растут травянистые растения, большинство из них лекарственные. под деревьями много грибов: белых, подберезовики, подосиновиков, маслята, опята. чем выше подниматься в горы, тем лиственных деревьев все меньше. лес становится хвойным. кроме ели и пихты, в нем растет лиственница. хвойные деревья более холодостойкие, чем лиственные. хвойный лес темный, влажный. почва между деревьями покрыта мхами. на лужайках растут кустики брусники и черники. на вершинах карпат хвойные леса сменяются кустарниками из сосны горной и можжевельника. за ними раскинулись горные луга - полонины. они покрыты травянистыми растениями. в карпатских горах водятся такие же животные, что и в природных зонах на равнинах. это звери: олень благородный, заяц, лисица, волк, куница, выдры, дикая свинья, барсук, белка. птицы - тетерев, рябчик, дятел пестрый, синица черная и синица чубатая, многие певчие перелетные птицы. но есть животные, которые чаще встречаются именно в карпатах. среди зверей - медведь бурый, лесной кот, рысь, из птиц - аист черный, орел, беркут, шишкарь еловый, дятел черный, змиеед. только в карпатских лесах встречаются: белка карпатская, полевки снежные, глухари карпатские. пресмыкающихся и земноводных в горах не много видов. это саламандра пятнистая, тритон карпатский, полоз лесной, ящерица живородная, лягушка прудовая и квакша. в быстрых горных реках водится рыба форель. в лесной подстилке, на деревьях, кустах и травянистых растениях живут насекомые и их личинки. чтобы сохранить природу карпат, созданы заповедники: карпатский и горганы.
В цикле с условием while цикл выполняется, пока истинно задающее его условие. Поэтому этот цикл также иногда называют циклом "пока". Часто цикл while используется, когда невозможно заранее предсказать, сколько раз необходимо выполнить тело цикла. В повседневной жизни цикл while можно встретить в алгоритмах, вроде "Пока в пределах видимости есть машины, стоять на месте" или "Пока в ящике есть детали, достать деталь из ящика".
В следующей программе цикл while используется подобно циклу for для вывода на экран всех чисел от 1 до 10:
i=1
while i<=10:
print i
i=i+1
В этой программе переменной i присваивается значение 1. Затем начинается цикл (ключевое слово while) с проверяемым условием i<=10. Тело цикла содержит две инструкции: вывод на экран значения переменной i и увеличение значения переменной i на 1.
При выполнении этого цикла проверяется условие i<=10. Поскольку значение i изначально равно 1, то условие верно и выполняется тело цикла: на экран выводится значение переменной i, то есть 1 и переменной i присваивается значение i+1, то есть 2. Снова проверяется условие, поскольку оно верно, то выполняется блок цикла: на экран выводится число 2 и переменной i присваивается значение 3. Опять проверяется значение цикла, и так далее до тех пор, пока проверяемое условие истинно.
Как только проверяемое условие станет ложно (это произойдет, когда переменная i станет равна 11), цикл завершит работу и управление будет передано следующей инструкции после блока цикла. Поэтому после завершения цикла переменная i будет иметь значение 11.
В общем виде синтаксис цикла с условием в языке Питон такой:
while условие:
инструкция 1
инструкция 2
...
инструкция n
В каждой инструкции while должны присутствовать:
Условие, определяющее, будет ли выполняться тело цикла. Это условие записывается после слова while и может быть произвольным арифметическим выражением, в котором должен быть хотя бы один из операторов ==, !=, <, >, <=, >= и могут использоваться логические операторы and, or, not. После условия ставится двоеточие.
Тело цикла, состоящее из одной или нескольких инструкций, записанных с отступом одинаковой величины.
Инструкции, изменяющие значения переменных, входящих в проверяемое условие. В рассмотренном примере это инструкция i=i+1. Если бы этой инструкции не было, то значение переменной i не менялось бы и проверяемое условие всегда было бы истинным, что привело бы к бесконечному циклу. Для прерывания работы программы, попавшей в бесконечный цикл, используется комбинация клавиш Ctrl+C.
Цикл while в Питоне всегда можно использовать вместо цикла for. Однако иногда цикл for удобней, а иногда удобней цикл while, как в следующем примере, где вычисляется наименьшая степень двойки, которая превосходит данное число n:
n=input("Введите натуральное число")
i=0
while 2**i<=n:
i=i+1
print "2 в степени",i,"превосходит данное число"
В этом примере переменная i внутри цикла увеличивается на 1, пока значение 2**i не превосходит n. После окончания цикла величина 2**i будет больше n, и соответствующее значение i будет напечатано на экране.
Внутри цикла могут быть различные другие инструкции, в том числе инструкции if, while и for. В этом случае говорят о вложенных циклах, или об условной инструкции, вложенной в цикл. Тело вложенного цикла выделяется от цикла, в который оно вложено, большей величиной отступа.
Рассмотрим два примера. В первом примере программа печатает на экран все натуральные делители данного натурального числа n. Для этого используется цикл, в котором переменная i меняется от 1 до n, а внутри цикла проверяется условие, и если остаток от деления n на i равен 0, то печатается значение i:
n=input("Введите число, для которого необходимо вывести делители")
i=1
while i<=n:
if n%i==0:
print i
i=i+1
В следующем примере на экран печатается таблица умножения всех однозначных чисел. Для этого организовано два цикла: в одном переменная i меняется от 1 до 9, внутри этого цикла (то есть при каждом новом значении i) переменная j также меняется от 1 до 9. В блоке вложенного цикла на экран печатаются значения переменных i, j и их произведение:
i=1
while i<10: # Условие внешнего цикла по i
j=1
while j<10: # Условие внутреннего цикла по j
print i, "*", j, "=", i*j
j=j+1 # Инструкция-итератор вложенного цикла
i=i+1 # Инструкция-итератор внешнего цикла
С использованием циклов for этот пример можно записать короче:
for i in range(1,10):
for j in range(1,10):
print i, "*", j, "=", i*j