Введение в Python - [7]
Команда elif позволяет проверить истинность нескольких выражений и в зависимости от результата проверки, выполнить нужный блок кода.
Как и команда else, команда elif являктся опциональной, однако, в отличие от команды else, у одной if-конструкции может существовать произвольное количество команд elif.
Например:
> 1 | # Производится последовательное сравнение переменной num.
> 2 | # Если num больше ста выполняется код в строке 4 и выполнение переходит на строку 13, иначе выполняется проверка в строке 6
> 3 | if num > 100:
> 4 | print "Число больше ста"
> 5 | # Если num больше пятидесяти - выполняется код в строке 7 и выполнение переходит на строку 13, иначе выполняется проверка в строке 8 и т.д.
> 6 | elif num > 50:
> 7 | print "Число больше пятидесяти"
> 8 | elif num > 25:
> 9 | print "Число больше двадцати пяти"
>10 | # Если результат всех проверок оказался ложным выполняется блок в строке 11, после чего переходим на строку 13
>11 | else:
>12 | print "Число меньше двадцати пяти"
>13 | print "Финальная строка"
Базовый Python не поддерживает конструкцию switch/case, как, например, JavaScript, но ее возможно реализовать при помощи if...elif...else конструкции.
В процессе разработки может возникнуть ситуация, в которой после одной истинной проверки следует сделать еще несколько. В таком случае необходимо использовать вложенные условные конструкции. То есть одну if...elif...else конструкцию внутри другой.
Например:
> 1 | if num > 100:
> 2 | if num < 150:
> 3 | print "Число больше ста, но меньше ста пятидесяти"
> 4 | elif num < 200:
> 5 | print "Число больше ста, но меньше двухсот"
> 6 | elif num > 50:
> 7 | if num < 90:
> 8 | print "Число больше пятидесяти, но меньше девяноста"
> 9 | else:
>10 | print "Число больше пятидесяти и больше девяноста"
>11 | else:
>12 | print "Число меньше пятидесяти"
Логика выполнения вложенных условных конструкций та же, что и у обычных. Главное не запутаться с отступами и порядком выполнения сравнений.
Циклы в Python
Published: 18 October 2014
Часто возникают ситуации, в которых вам необходимо выполнить блок кода несколько раз. Как правило, команды выполняются одна вслед за другой, но существуют способы зациклить код. Во многих языках программирования для этой цели используются инструкции циклов. В Python существуют следующют два типа цикличных выражений:
* Цикл while
* Цикл for
Инструкция while в Python повторяет указанный блок кода до тех пор, пока указанное в цикле условие будет оставаться истинным.
Цикл while в Python записывается следующим образом:
>1 | while условие:
>2 | выражение
При этом выражением может быть как одна так и несколько инструкций. Условием может быть любое истинное или ненулевое значение. Выражение будет повторяться, пока условие будет истинным.
Когда условие становится ложным интерпретатор переводит выполнение программы на строку, следующую за циклом. Рассмотрим следующий пример цикла while в Python:
>1 | money = 10 # создаем переменную money и присваиваем ей значение 10
>2 | while money > 0: # Запускаем цикл
>3 | print "We have %s dollars" % money
> | # Мы внутри цикла. Печатаем сообщение
>4 | money -= 1
> | # Все еще внутри цикла. Уменьшаем на один переменную money
>5 | print "No more money :( Time to work now"
> | # Мы вне цикла. Печатаем сообщение
Запустив код, вы увидите следующий результат:
Цикл while становится бесконечным в случае, когда условие цикла никогда не становится ложным. Примером задачи для реализации которой необходим бесконечный цикл может быть, например, создание программы "Часы", которая бесконечно будет обновлять и отображать время. Однако, часто бесконечный цикл является ошибкой начинающего программиста, который забыл добавить изменение условия цикла. Например:
>1 | num = 1
>2 | while num < 10:
>3 | print "Hello"
Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта - в shell нужно нажать Ctrl+C.
Цикл for в Python обладает способностью переберать элементы любого комплексного типа данных (например, строки или списка). В Python цикл for обладает следующим синтаксисом:
> 1 | for item in sequence:
> 2 | statement(s)
Переменной item присваивается значение первого элемента sequence, после чего выполняется statement. Затем переменной item присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы sequence. Например:
> 1 | word = "child" # строка word
> 2 | bag = ["knife", "wallet", "pen", "notebook"] # список bag
> 3 | countries = {"Swiss":"Bern", "Ukraine":"Kiev",
> 4 |
> 5 | for letter in word:
> 6 | print letter # печатаем по букве из word
> 7 |
> 8 | for item in bag:
> 9 | print item # печатаем по элементу из bag
>10 |
>11 | for county in countries:
>12 | # По умолчанию цикл for проходит по ключам словарей
>13 | # Но нам не составит труда получить значения ключей
Автор книги — американский специалист по программированию, один из руководителей фирмы IBM, в своей книге делает попытку изложить общие проблемы создания программного обеспечения, его сопровождения и использования. Особенно подробно рассматриваются все фазы разработки программ разных типов. Изложение ясное, удачно иллюстрировано примерами.Для программистов разной квалификации и пользователей ЭВМ.fb2: ВНИМАНИЕ. В тексте присутствуют таблицы. Рекомендуется читать файл с помощью программы, поддерживающей их отображение.
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Очень часто под рукой не оказывается ни отладчика, ни дизассемблера, ни даже компилятора, чтобы набросать хотя бы примитивный трассировщик. Разумеется, что говорить о взломе современных защитных механизмов в таких условиях просто смешно, но что делать если жизнь заставляет?..