1.10M
Category: programmingprogramming

Логические операции

1.

Логические операции

2.

Логические операции
Сложное условие состоит из нескольких условий
В Python есть три логических операции, которые позволяют
создавать сложные условия:
1. and: логическое умножение, “и”
2. or: логическое сложение, “или”
3. not: логическое отрицание, “не”
2

3.

Операция and
3
Предположим мы хотим написать программу для учеников от
двенадцати лет, которые учатся по крайней мере в 7 классе:
age = int(input())
grade = int(input())
if age >= 12 and grade >= 7:
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется только
при выполнении обоих
условий одновременно!
Мы объединили два условия при помощи операции and

4.

Операция and
Операция and может объединять произвольное количество
условий:
age = int(input())
grade = int(input())
city = input()
if age >= 12 and grade >= 7 and city == 'Москва':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы объединили три условия при помощи операции and
4

5.

Таблица истинности для операции and
a
b
a and b
False
False
False
False
True
False
True
False
False
True
True
True
Операция and возвращает истину когда
оба выражения истинны
5

6.

Операция or
6
Операция or также применяется для объединения условий:
city = input()
if city == 'Москва' or city == 'Уфа':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется в случае
если хотя бы одно из условий
выполняется!
Мы объединили два условия при помощи операции or

7.

Операция or
Операция or может объединять произвольное количество
условий:
city = input()
if city == 'Москва' or city == 'Уфа' or city == 'Тула':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы объединили три условия при помощи операции or
7

8.

Таблица истинности для операции or
a
b
a or b
False
False
False
False
True
True
True
False
True
True
True
True
Операция or возвращает ложь когда оба
выражения ложны
8

9.

Операция and и or вместе
Мы можем использовать обе логические операции одновременно:
age = int(input())
grade = int(input())
city = input()
if age >= 12 and grade >= 7 and (city == 'Москва' or
city == 'Уфа' or city == 'Тула'):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
9

10.

Операция not
10
Операция not позволяет инвертировать результат логического
выражения:
age = int(input())
if not (age < 12):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
age = int(input())
if age >= 12:
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы поместили скобки вокруг выражения age < 12 для того,
чтобы было чётко видно, что операция not применяется к
значению выражения age < 12, а не только к переменной age

11.

Таблица истинности для операции not
a
not a
False
True
True
False
11

12.

Приоритет логических операций
12
Приоритет логических операций:
Операция
Приоритет
not
0
and
1
or
2
сначала отрицание not
далее логическое умножение and
далее логическое сложение or
Для явного указания порядка выполнения
логических операций мы используем скобки

13.

Примечания
13
Частой ошибкой является путаница логических and и or:
if x > 1 and x < 100:
if x > 1 or x < 100:
Другой частой ошибкой является код:
if age >= 7 and <= 9:
if age >= 7 and age <= 9:
В Python есть способ для проверки принадлежности диапазону:
if 7 <= age <= 9:

14.

Задача
Напишите программу, которая определяет, является ли
заданное число трехзначным.
14

15.

Задача
15
Напишите программу, которая определяет, является ли
заданное число трехзначным.
num = int(input())
if 100 <= num <= 999:
print('Число является трехзначным')
else:
print('Число не является трехзначным')

16.

Задача
Напишите программу, которая проверяет, что все три
цифры трехзначного числа различны.
16

17.

Задача
17
Напишите программу, которая проверяет, что все три
цифры трехзначного числа различны.
num = int(input())
d3 = num % 10
d2 = num % 100 // 10
d1 = num // 100
if d3 != d2 and d3 != d1 and d2 != d1:
print('Цифры различны')
else:
print('Цифры не различны')

18.

Задача
Напишите программу, которая по координатам точки не
лежащей на осях координат, определяет номер
координатной четверти в которой она находится.
2 четверть
1 четверть
3 четверть
4 четверть
18

19.

Задача
19
Напишите программу, которая по координатам точки не
лежащей на осях координат, определяет номер
координатной четверти в которой она находится.
2 четверть
3 четверть
1 четверть
4 четверть
Обратите внимание, никакие два
из четырех условий не могут быть
истинными одновременно
x = int(input())
y = int(input())
if x > 0 and
print('1
if x < 0 and
print('2
if x < 0 and
print('3
if x > 0 and
print('4
y > 0:
четверть')
y > 0:
четверть')
y < 0:
четверть')
y < 0:
четверть')
English     Русский Rules