Лабораторная работа №3. Условные операторы
Условный оператор ветвления if, if-else, if-elif-else
Оператор ветвления if позволяет выполнить определенный набор инструкций в зависимости от некоторого условия. Возможны следующие варианты использования:
Конструкция if
Синтаксис оператора if выглядит следующим образом:
if логическое выражение:
команда_1
команда_2
...
команда_n
После оператора if записывается логическое выражение.
Логическое выражение - конструкция языка программирования, результатом вычисления которой является "истина" или "ложь".
Если это выражение истинно, то выполняются инструкции, определяемые данным оператором. Выражение является истинным, если его результатом является:
- число, не равное нулю;
- непустой объект;
- логическое True
После выражения нужно поставить двоеточие.
ВАЖНО: блок кода, который необходимо выполнить в случае истинности выражения, отделяется отступами - четырьмя пробелами слева.
Пример
Программа запрашивает у пользователя два целых числа, затем сравнивает их. Если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение.
Код программы:
print('Введите А:')
A = int(input())
print('Введите B:')
B = int(input())
if A==B:
print('A равно B')
Конструкция if-else
Бывают случаи, когда необходимо предусмотреть альтернативный вариант выполнения программы, т.е. при истинном условии нужно выполнить один набор инструкций, при ложном - другой. Для этого используется конструкция if-else.
Синтаксис оператора if-else выглядит так:
if логическое выражение:
команда_1
команда_2
...
команда_n
else:
команда_1
...
команда_n
Пример
Программа запрашивает у пользователя два целых числа, затем сравнивает их. Если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение. В противном случае выводится сообщение, что числа не равны.
Код программы:
print('Введите А:')
A = int(input())
print('Введите B:')
B = int(input())
if A==B:
print('A равно B')
else:
print('A не равно B')
Конструкция if-elif-else
Для реализации выбора из нескольких альтернатив можно использовать конструкцию if - elif - else.
Синтаксис оператора if - elif - else выглядит так:
if логическое выражение:
команда_1
команда_2
...
команда_n
elif логическое выражение_2:
команда_1
...
команда_n
elif логическое выражение_3:
команда_1
...
команда_n
else:
команда_1
...
команда_n
Пример
Программа запрашивает число у пользователя и сравнивает его с нулем a<0. Если оно меньше нуля, то выводится сообщение об этом. Если первое логическое выражение не истинно, то программа переходит ко второму - a==0. Если оно истинно, то программа выведет сообщение, что число равно нулю, в противном случае, если оба вышеуказанных логических выражения оказались ложными, то программа выведет сообщение, что введенное число больше нуля.
a = int(input("Введите число: "))
if a<0:
print(a, "меньше нуля")
elif a==0:
print(a, "равно нулю")
else:
print(a, "больше нуля")
Пример
Дано 3 числа. Найти минимальное среди них и вывести на экран.
Решение
Построим блок-схему:
Вводим три числа и присвоим значения переменным a,b,c:
a = int(input())
b = int(input())
c = int(input())
Условной конструкцией if-else проверим на истинность логическое выражение a < b. Если оно истинно, то переходим на проверку логического выражения a < c. Если оно истинно, то переменной "y" присвоим значение переменной "a", т.е. "a" будет минимальным, а иначе "y" присвоится значение переменной "c".
Если в начале логическое выражение a < b оказалось ложным, то переходим на проверку другого логического выражения b < c.
Если оно истинно, то "y" присвоится значение переменной "b", иначе "c".
Командой print() выводим минимальное значение.
Пример кода:
a = int(input("Введите первое целое число \n"))
b = int(input("Введите второе целое число \n"))
c = int(input("Введите третье целое число \n"))
if a<b:
if a<c:
y=a
else:
y=c
else:
if b<c:
y=b
else:
y=c
print("Минимум:",y)
Задания для самостоятельной работы
Даны три целых числа. Выбрать из них те, которые принадлежат интервалу [1,3]
Дано целое число. Вывести информацию, является оно однозначным, двузначным или трехзначным.
Пользователь вводит три целых числа: числа a, b и result, которое содержит информацию о результате умножения. Проверить, верно ли пользователь выполняет умножение чисел.
(If24) Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения: f(x) = 2·sin(x),если x > 0, 6 − x,если x ≤ 0.
- (If28) Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
- (If22) Даны координаты точки, не лежащей на координатных осях OX и OY. Определить номер координатной четверти, в которой находится данная точка.
- (If16) Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.