Вложенные условные инструкции 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вложенные условные инструкции



Внутри условных инструкций можно использовать любые инструкции языка Питон, в том числе и еще одну условную инструкцию. Получаем вложенное ветвление — после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):

x = int(input())
y = int(input())
if x > 0:
if y > 0: # x>0, y>0
print("Первая четверть")
else: # x>0, y<0
print("Четвертая четверть")
else:
if y > 0: # x<0, y>0
print("Вторая четверть")
else: # x<0, y<0
print("Третья четверть")

В этом примере мы использовали комментарии –- текст, который интерпретатор игнорирует. Комментариями в Питоне является символ # и весь текст после этого символа до конца строки.

ОПЕРАТОРЫ СРАВНЕНИЯ

Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения:

· < Меньше — условие верно, если первый операнд меньше второго.

· > Больше — условие верно, если первый операнд больше второго.

· <= Меньше или равно.

· >= Больше или равно.

· == Равенство. Условие верно, если два операнда равны.

·!= Неравенство. Условие верно, если два операнда неравны.

Например, условие x * x < 1000 означает “значение x * x меньше 1000”, а условие 2 * x!= yозначает “удвоенное значение переменной x не равно значению переменной y”.

Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или1 <= x <= 10.

Операторы сравнения возвращают значения специального логического типа bool.

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ

Иногда нужно проверить одновременно не одно, а несколько условий. Например, проверить, является ли данное число четным можно при помощи условия (n % 2 == 0) (остаток от деления n на 2 равен 0), а если необходимо проверить, что два данных целых числа n и m являются четными, необходимо проверить справедливость обоих условий: n % 2 == 0 и m % 2 == 0, для чего их необходимо объединить при помощи оператора and (логическое И): n % 2 == 0 and m % 2 == 0.

ПРИМЕР

Проверим, что хотя бы одно из чисел a или b оканчивается на 0:

if a % 10 == 0 or b % 10 == 0:

Проверим, что число a — положительное, а b — неотрицательное:

if a > 0 and not (b < 0):

Или можно вместо not (b < 0) записать (b >= 0).

КАСКАДНЫЕ УСЛОВНЫЕ ИНСТРУКЦИИ

Пример программы, определяющий четверть координатной плоскости, можно переписать используя “каскадную“ последовательность операцией if… elif… else:

x = int(input())
y = int(input())
if x > 0 and y > 0:
print("Первая четверть")
elif x > 0 and y < 0:
print("Четвертая четверть")
elif y > 0:
print("Вторая четверть")
else:
print("Третья четверть")

В такой конструкции условия if, …, elif проверяются по очереди, выполняется блок, соответствующий первому из истинных условий. Если все проверяемые условия ложны, то выполняется блок else, если он присутствует.

Инструкция pass в Python

Оператор pass не делает ничего. Он может использоваться когда синтаксически требуется присутствие оператора, но от программы не требуется действий.

ПРИМЕР

if situation_is_normal:
pass # если ситуация нормальная — ничего не делать
else:
FixSituation

Этот оператор также часто используется для создания минималистичных классов, к примеру исключений (exceptions), или для игнорирования нежелательных исключений:

class ParserError(Exception):
pass

try:

import audioop
except ImportError:
pass

pass также может применяться в качестве заглушки для тела функции или условия при создании нового кода, позволяя вам сохранить абстрактный взгляд на вещи. С другой стороны, оператор pass игнорируется без каких-либо сигналов и в некоторых случаях лучшим выбором было бы породить исключение NotImplementedError.



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 634; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.165.66 (0.005 с.)