Инструкция (оператор) if. Определение. Примеры
Содержание
- 1. Для чего используется инструкция if (оператор if)
- 2. Какие формы (разновидности) имеет инструкция if в Python?
- 3. Полная форма инструкции if (if-elif-else). Принцип выполнения
- 4. Сокращенная форма if. Принцип выполнения
- 5. Сокращенная форма if-else. Принцип выполнения
- 6. Сокращенная форма if-elif. Принцип выполнения
- 7. Пример, который демонстрирует использование конструкции if-elif-else (полная форма)
- 8. Пример решения квадратного уравнения с использованием инструкции if в интерактивном режиме
- 9. Пример решения квадратного уравнения с использованием инструкции if в программном режиме
- 10. Пример использования инструкции if-elif. Определение количества дней в месяце и наличия высокосного года
- 11. Пример использования вложенной инструкции if-elif. Модифицированный вариант программы определения количества дней в месяце с учетом высокосного года
- 12. Пример, который демонстрирует использование сокращенной конструкции if. Поиск максимального значения между тремя величинами
- Связанные темы
Поиск на других ресурсах:
1. Для чего используется инструкция if (оператор if)
Часто, при реализации алгоритмов, нужно выполнять выбор хода выполнения программы в зависимости от заданного условия. Для обеспечения этого современные языки программирования (Java, Java Script, C#, C++ и прочие) содержат соответствующие управляющие операторы (control statements), одним из которых есть оператор ветвления if. Язык программирования Python также имеет в своем арсенале инструкцию if, работа которой ничем не отличается от такой же инструкции других языков программирования.
Инструкцию if еще называют оператором if (statement if).
⇑
2. Какие формы (разновидности) имеет инструкция if в Python?
В языке Python инструкция if имеет следующие четыре формы:
- полная форма if-elif-else;
- сокращенная форма if;
- сокращенная форма if-else;
- сокращенная форма if-elif.
⇑
3. Полная форма инструкции if (if-elif-else). Принцип выполнения
В языке программирования Python общая форма инструкции if имеет вид:
if выражение1 : набор1 elif выражение2 : набор2 ... elif выражениеN : наборN else: наборN+1
где выражение1, выражение2, выражениеN – соответствующее условное выражение, которое проверяется на истинность. Если условное выражение истинно, то его значение равно True (истина). В этом случае выполняется соответствующий набор (множество) операторов набор1, набор2, наборN, наборN+1.
Инструкция if работает следующим образом. Если выражение1 равно True, то выполняется набор1 операторов, в противном случае происходит переход к проверке условия выражение2. По такому же принципу обрабатываются ветви выражение2, …, выражениеN. Если ни одно из выражений выражение1, выражение2, …, выражениеN не выполняется (равно False), то выполняется наборN+1, который следует после ключевого слова else.
⇑
4. Сокращенная форма if. Принцип выполнения
Сокращенная форма инструкции if не содержит блоков elif и else и имеет следующий вид
if выражение : набор
В этом случае набор операторов выполняется если выражение истинно, то есть равно True. В противном случае, выполняется следующий после if оператор.
⇑
5. Сокращенная форма if-else. Принцип выполнения
Сокращенная форма может иметь общий вид if-else
if выражение : набор1 else: набор2
Приведенная выше форма оператора if работает по следующему принципу. Сначала проверяется значение выражение. Если выражение истинно (равно True), то выполняется набор1 операторов. В противном случае (выражение равно False) выполняется набор2 операторов.
⇑
6. Сокращенная форма if-elif. Принцип выполнения
Сокращенная форма if-elif может иметь следующий вид
if выражение1 : набор1 elif выражение2 : набор2 ... elif выражениеN : наборN
В этой форме оператор if подобен оператору switch в других языках программирования. Оператор if-elif работает по следующему принципу. Если значение выражение1 истинно (равное True), то выполняется набор1 и происходит выход из оператора if-elif. В противном случае (значение выражение1 равно False) происходит переход к следующей ветви оператора на проверку выражение2. Таким образом, выполняется та ветвь оператора if-elif, значение выражения в которой равно True. Если ни одно из выражений выражение1, выражение2, …, выражениеN не выполняется, тогда происходит переход к следующему после if-elif оператору.
⇑
7. Пример, который демонстрирует использование конструкции if-elif-else (полная форма)
Задано целочисленное значение n=1..3 и радиус r. По заданному значению n вычислить:
- 1 — длина окружности;
- 2 — площадь круга;
- 3 — объем шара.
Текст программы в программном режиме имеет следующий вид
n=2 # ввод данных r=5.5 pi=3.1415 # вычисление, оператор if if n==1: s=2*pi*r print("Длина окружности = ",s) elif n==2: s=pi*r*r print("Площадь круга = ",s) elif n==3: s=4.0/3*pi*r*r*r print("Объем шара = ",s) else: print("Неверно введены данные") print("----------------------")
В результате выполнения вышеприведенного кода будет получен следующий результат
Площадь круга = 95.03037499999999 ----------------------
⇑
8. Пример решения квадратного уравнения с использованием инструкции if в интерактивном режиме
Ниже приведен пример решения квадратного уравнения для заданных коэффициентов a, b, c. В примере демонстрируется сокращенная форма оператора if.
>>> a = 8 # задать начальные значения a,b,c >>> b = 3 >>> c = -2 >>> d = b*b-4*a*c # вычислить дискриминант >>> if d>=0: x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) >>> x1,x2 (-0.7215002340823456, 0.34650023408234565) >>>
С помощью нижеследующего кода можно проверить значения дискриминанта d и правильность полученного результата
>>> d 73 >>> a*x1*x1+b*x1+c 0.0 >>> a*x2*x2+b*x2+c -4.440892098500626e-16 >>>
Как видно из результата, значение x1, x2 приближено к нулю, то есть решение верно.
⇑
9. Пример решения квадратного уравнения с использованием инструкции if в программном режиме
В примере демонстрируется использование оператора if для нахождения решения квадратного уравнения. Код приведен для программного режима. С помощью функции print() выводится результат вычислений и результат проверки. Если значение дискриминанта d<0, то выводится сообщение «Уравнение не имеет корней».
a=2 # задать значение a,b,c b=5 c=-4 d=b*b-4*a*c # вычислить d if d>=0: # оператор if x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) print("d = ",d) # вывод результата print("x1 = ", x1) print("x2 = ", x2) print print("Проверка:") print("a*x1*x1+b*x1+c = ", a*x1*x1+b*x1+c) print("a*x2*x2+b*x2+c = ", a*x2*x2+b*x2+c) else: print("уравнение не имеет решения")
Как видно из примера, если в инструкции if нужно выполнить несколько операторов подряд (сгруппировать), то они выделяются с помощью отступов.
После запуска на выполнение, в среде Python будет получен следующий результат:
d = 57 x1 = -3.1374586088176875 x2 = 0.6374586088176875 Проверка: a*x1*x1+b*x1+c = 0.0 a*x2*x2+b*x2+c = 0.0
⇑
10. Пример использования инструкции if-elif. Определение количества дней в месяце и наличия высокосного года
Задан год и месяц. Разработать программу, которая определяет:
- является ли заданный год высокосным;
- количество дней в заданном месяце данного года. В программе произвести расчет высокосного года.
Текст программы следующий
year=2100 # установить некоторый год month=2 # установить некоторый месяц # # определение высокосного года f_leap_year=True # в начале принять, что год высокосный if year%400==0: print("год высокосный") elif year%100==0: print("год невысокосный") f_leap_year=False elif year%4==0: print("год высокосный") else: print("год невысокосный") f_leap_year=False print("---------------------") # # определение количества дней в месяце print("Количество дней в месяце:") nDays=31 # в начале количество дней равно 31 if (month==2)and(f_leap_year==True): nDays=29 elif (month==2)and(f_leap_year==False): nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 print(nDays)
В вышеприведенном коде дополнительно использованы логические операции and (логическое «и») и or (логическое «или»).
В результате выполнения кода, будет получен следующий результат
год невысокосный --------------------- Количество дней в месяце: 28 >>>
⇑
11. Пример использования вложенной инструкции if-elif. Модифицированный вариант программы определения количества дней в месяце с учетом высокосного года
В данном примере демонстрируется использование вложенной инструкции if-elif для проведения расчета количества дней в месяце на основе следующих входных данных:
- год;
- номер месяца в году.
Важно вычислить, есть ли заданный год высокосным.
Текст программы следующий:
year=2108 # установить некоторый год month=2 # установить некоторый месяц # # определение высокосного года f_leap_year=True # в начале принять, что год высокосный if year%400==0: print(year,"- год высокосный") elif year%100==0: print(year,"- год невысокосный") f_leap_year=False elif year%4==0: print(year,"- год высокосный") else: print(year,"- год невысокосный") f_leap_year=False print("---------------------") # # определение количества дней в месяце if month==2: if f_leap_year==True: # вложенный оператор if-else nDays=29 else: nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 else: nDays=31 print("Количество дней в месяце:", month) print("nDays=", nDays)
При определении количества дней для месяца 2 (февраль), используется вложенная инструкция if-else. Вложенность определяется с помощью отступов
... if month==2: if f_leap_year==True: # вложенный оператор if-else nDays=29 else: nDays=28 elif ...
После запуска на выполнение программа выдаст следующий результат:
2108 - год високосный --------------------- Количество дней в месяце: 2 nDays= 29 >>>
⇑
12. Пример, который демонстрирует использование сокращенной конструкции if. Поиск максимального значения между тремя величинами
В примере демонстрируется использование сокращенной инструкции if для поиска максимального значения между тремя величинами a, b, c. Текст программы следующий:
# поиск максимума между величинами a, b, c # установить произвольные значения a,b,c=20,30,17 # поиск максимума mx mx=a; if mx<b: mx=b if mx<c: mx=c print("Max = ", mx)
После запуска на выполнение будет получен следующий результат
Max = 30 >>>
⇑
Связанные темы
- Оператор присваивания. Формы присваивания. Примеры. Позиционное присваивание кортежей, списков
- Оператор while. Примеры
- Оператор for. Примеры