changed 5 years ago
Published Linked with GitHub

Тема 3
Условный оператор

© Яценко Р.Н., 2019-2020


1. Синтаксис условного оператора


Пример 1. Модуль числа

x = int(input())
if x > 0:
    print(x)
else:
    print(-x)


Синтаксис условной конструкции

if Условие:
    Блок инструкций 1
else:
    Блок инструкций 2
  • Блок инструкций 1 будет выполнен, если Условие истинно
  • Если Условие ложно, будет выполнен Блок инструкций 2

Неполное ветвление

  • В условной инструкции может отсутствовать слово else и последующий блок
  • Такая инструкция называется неполным ветвлением
x = int(input())
if x < 0:
    x = -x
print(x)

Отступы

  • Для выделения блока инструкций, относящихся к инструкции if или else в языке Python используются отступы
  • Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки
  • Рекомендуется использовать отступ в 4 пробела и не рекомедуется использовать в качестве отступа символ табуляции

Пример 2. Пароль

Программа ввода и проверки пароля

print('Добро пожаловать к нам в ООО "Системы безопасности".')
print("-- Безопасность - наше второе имя\n")

password = input("Введите пароль: ")

if password == "secret":
    print("Доступ открыт")


Добавим "Доступ закрыт"

print('Добро пожаловать к нам в ООО "Системы безопасности".')
print("-- Безопасность - наше второе имя\n")

password = input("Введите пароль: ")

if password == "secret":
    print("Доступ открыт")
else:
    print("Доступ закрыт")

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


Вложенное ветвление

  • Внутри условных инструкций можно использовать любые инструкции языка Python, в том числе и условную инструкцию
  • Получаем вложенное ветвление после одной развилки в ходе исполнения программы появляется другая развилка
  • Вложенные блоки имеют больший размер отступа (например, 8 пробелов)

Пример 3

Определить четверть координатной плоскости по заданным координатам точки

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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("Третья четверть")


3. Операторы сравнения


Операторы сравнения

Оператор Описание
< Меньше
> Больше
<= Меньше или равно
>= Больше или равно
== Равенство
!= Неравенство

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

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


4. Логические операторы


Несколько условий

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

Стандартные логические операторы

  • логическое И and

  • логическое ИЛИ or

  • логическое отрицание not


Логическое И (and)

Оператор and возвращает True тогда и только тогда, когда обе его части имеют значение True


Логическое ИЛИ (or)

Логическое ИЛИ возвращает True тогда и только тогда, когда хотя бы одна его часть равна True


Логическое НЕ (not)

Логическое НЕ (отрицание) имеет вид not, после которого следует выражение. Логическое НЕ возвращает True, если выражение равно False и наоборот


Таблица истинности

X Y X and Y X or Y not X
False False False False True
False True False True True
True False False True False
True True True True False

Пример 4

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

a = int(input())
b = int(input())
if a % 10 == 0 or b % 10 == 0:
    print('YES')
else:
    print('NO')


5. Каскадные условные инструкции


Синтаксис

if Условие1:
    Блок инструкций 1
elif Условие2:
    Блок инструкций 2
...
elif УсловиеN:
    Блок инструкций N
else:
    Блок инструкций N + 1
  • Условия if, ..., elif проверяются по очереди, выполняется блок, соответствующий первому из истинных условий
  • Если все проверяемые условия ложны, то выполняется блок else, если он присутствует

Пример 5

Пример программы, определяющий четверть координатной плоскости, можно переписать используя “каскадную“ последовательность операцией 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("Третья четверть")


6. Тернарный условный оператор


Синтаксис

результат_если_истина if условие else результат_если_ложь

Тернарные операторы возвращают один из двух возможных результатов в зависимости от того, является ли условие истиной или ложью


Пример 6

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

x = 1
y = 2
maximum = x if x>y else y
minimum = x if x<y else y
print(maximum, minimum)


Спасибо за внимание!

© Яценко Р.Н., 2019-2020

Select a repo