Ветвления¶
Логический тип данных¶
В языке Python логический тип данных представлен типом bool (бул, булев тип,
булевый тип).
Объекты типа bool могут принимать одно из двух значений: True (истина)
или False (ложь).
Операции отношения¶
Существует ряд операций, результатом вычисления которых являются объекты типа
bool. Рассмотрим некоторые из них:
Операции отношения:
<,<=,>,>=.Проверка объектов на равенство. Операция
==возвращаетTrue, если ее операнды имеют одинаковые значения. Обратная ей операция —!=:>>> a = 4 >>> b = 2 >>> a == b False >>> a != b True
Логические операции:
and,or,not. Работа этих операций описана в таблицах истинности ниже.
Таблицы истинности логических операций¶
Логическое «И» (конъюнкция, логическое умножение)
A |
B |
A and B |
|---|---|---|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Логическое «ИЛИ» (дизъюнкция, логическое сложение)
A |
B |
A or B |
|---|---|---|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Логическое «НЕ» (инверсия, отрицание)
A |
not A |
|---|---|
0 |
1 |
1 |
0 |
Условный оператор¶
Чаще всего логические выражения и операции отношения используются в условных конструкциях. В общем виде конструкция выглядит так:
if условие1:
# Блок кода, выполняющийся в случае,
# если <условие> принимает значение True
elif условие2:
# ...
# ...
else:
# Блок кода, выполняющийся в случае,
# если все предыдущие условия принимают значение False
# Этот блок должен идти последним.
Блоки elif и else необязательны.
Важно: блоки кода в Python оформляются с отступами в 4 пробела (вставить такой отступ можно нажатием клавиши <Tab>).
К условию относится только код, написанный с отступом. Сравните две записи:
# 1
if False:
print('1')
print('2')
# 2
if False:
print('1')
print('2')
Задачи¶
Пользователь вводит число. Приложение сообщает, является это число положительным, отрицательным или нулем.
Пользователь вводит номер месяца, приложение сообщает, какое это время года. Весна (3,4,5), лето (6,7,8), осень (9,10,11) зима (12,1,2)).
Пример:
Номер месяца: 6 Лето Номер месяца: 12 Зима Номер месяца: 13 Такого месяца нет
Пользователь вводит три целых числа. Найти количество положительных и количество отрицательных чисел среди них.
Пользователь вводит три числа. Определить минимальное и максимальное из них.
Пользователь вводит год. Приложение сообщает, является ли этот год високосным. Год является високосным, если он делится без остатка на 4 и вместе с этим либо делится без остатка на 400, либо не делится без остатка на 100.
Пользователь вводит часы, минуты и секунды в 24-часовом формате. Приложение проверяет корректность введенных чисел. Для каждого несоответствия вывести сообщение с корректными диапазонами. Пример:
Часы: 2 Минуты: 25 Секунды: 13 Все верно. Время 2:25:13 Часы: 25 Минуты: 70 Секунды: 59 Ошибка! Часы должны быть в диапазоне [0:23] Минуты должны быть в диапазоне [0:59]
Пользователь вводит число, операцию и еще одно число. Приложение выполняет вычисления. Реализовать поддержку операций
+,-,*,/. Пример:Число а: 17 Операция: + Число b: 10 Результат: 17 + 10 = 27
Пользователь вводит шестизначный номер билета. Приложение определяет, является ли он счастливым. Билет счастливый, если сумма первых его трех цифр равна сумме последних трех.