- Неполный оператор ветвления python
- 2. Вложенные условные инструкции
- 3. Операторы сравнения
- 4. Тип данных bool
- 4.1. Логические операторы
- Программирование на языке Python
- Вложенные условные инструкции
- Операторы сравнения
- Ветвления (Python). 8 класс
- 3.
- 4.
- 5. Выбор наибольшего из двух чисел (вар.1)
- 6. Вариант 1. Программа (полное ветвление)
- 7. Выбор наибольшего из двух чисел (вар. 2)
- 8. Вариант 2. Программа (неполное ветвление)
- 9. Примеры
- 10. Cортировка по убыванию
- 11. Вложенные условные операторы
- 12. Каскадное ветвление
- 13. Каскадное ветвление
Неполный оператор ветвления python
Все ранее рассматриваемые программы имели линейную структуру: все инструкции выполнялись последовательно одна за одной, каждая записанная инструкция обязательно выполняется.
Допустим мы хотим по данному числу x определить его абсолютную величину (модуль). Программа должна напечатать значение переменной x, если x>0 или же величину -x в противном случае. Линейная структура программы нарушается: в зависимости от справедливости условия x>0 должна быть выведена одна или другая величина. Соответствующий фрагмент программы на Питоне имеет вид:
x = int(input()) if x > 0: print(x) else: print(-x)
В этой программе используется условная инструкция if (если). После слова if указывается проверяемое условие (x > 0) , завершающееся двоеточием. После этого идет блок (последовательность) инструкций, который будет выполнен, если условие истинно, в нашем примере это вывод на экран величины x . Затем идет слово else (иначе), также завершающееся двоеточием, и блок инструкций, который будет выполнен, если проверяемое условие неверно, в данном случае будет выведено значение -x .
Итак, условная инструкция в Питоне имеет следующий синтаксис:
if Условие: Блок инструкций 1 else: Блок инструкций 2
Блок инструкций 1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен Блок инструкций 2 .
В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x , то это можно сделать следующим образом:
В этом примере переменной x будет присвоено значение -x , но только в том случае, когда x
Для выделения блока инструкций, относящихся к инструкции if или else в языке Питон используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела и не рекомедуется использовать в качестве отступа символ табуляции.
Это одно из существенных отличий синтаксиса Питона от синтаксиса большинства языков, в которых блоки выделяются специальными словами, например, нц. кц в Кумире, begin. end в Паскале или фигурными скобками в Си.
2. Вложенные условные инструкции
Внутри условных инструкций можно использовать любые инструкции языка Питон, в том числе и условную инструкцию. Получаем вложенное ветвление – после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):
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. Операторы сравнения
Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения: < Меньше — условие верно, если первый операнд меньше второго.
> Больше — условие верно, если первый операнд больше второго.
>= Больше или равно.
== Равенство. Условие верно, если два операнда равны.
!= Неравенство. Условие верно, если два операнда неравны.
Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, или .
4. Тип данных bool
Операторы сравнения возвращают значения специального логического типа bool . Значения логического типа могут принимать одно из двух значений: True (истина) или False (ложь). Если преобразовать логическое True к типу int , то получится 1, а преобразование False даст 0. При обратном преобразовании число 0 преобразуется в False , а любое ненулевое число в True . При преобразовании str в bool пустая строка преобразовывается в False , а любая непустая строка в True .
4.1. Логические операторы
Иногда нужно проверить одновременно не одно, а несколько условий. Например, проверить, является ли данное число четным можно при помощи условия (n % 2 == 0) (остаток от деления n на 2 равен 0 ), а если необходимо проверить, что два данных целых числа n и m являются четными, необходимо проверить справедливость обоих условий: n % 2 == 0 и m % 2 == 0 , для чего их необходимо объединить при помощи оператора and (логическое И): n % 2 == 0 and m % 2 == 0 .
В Питоне существуют стандартные логические операторы: логическое И, логическое ИЛИ, логическое отрицание.
является бинарным оператором (то есть оператором с двумя операндами: левым и правым) и имеет вид and . Оператор and возвращает True тогда и только тогда, когда оба его операнда имеют значение True .
является бинарным оператором и возвращает True тогда и только тогда, когда хотя бы один операнд равен True . Оператор “логическое ИЛИ” имеет вид or .
(отрицание) является унарным (то есть с одним операндом) оператором и имеет вид not , за которым следует единственный операнд. Логическое НЕ возвращает True , если операнд равен False и наоборот.
Пример. Проверим, что хотя бы одно из чисел a или b оканчивается на 0:
a = int(input()) b = int(input()) if a % 10 == 0 or b % 10 == 0: print('YES') else: print('NO')
Проверим, что число a — положительное, а b — неотрицательное:
Или можно вместо not (b < 0) записать (b >= 0) .
Программирование на языке Python
Все ранее рассматриваемые программы имели линейную структуру: все инструкции выполнялись последовательно одна за одной, каждая записанная инструкция обязательно выполняется.
Допустим мы хотим по данному числу x определить его абсолютную величину (модуль). Программа должна напечатать значение переменной x, если x>0 или же величину -x в противном случае. Линейная структура программы нарушается: в зависимости от справедливости условия x>0 должна быть выведена одна или другая величина. Соответствующий фрагмент программы на Питоне имеет вид:
x = int(input()) if x > 0: print(x) else: print(-x)
В этой программе используется условная инструкция if (если). После слова if указывается проверяемое условие (x > 0), завершающееся двоеточием. После этого идет блок (последовательность) инструкций, который будет выполнен, если условие истинно, в нашем примере это вывод на экран величины x. Затем идет слово else (иначе), также завершающееся двоеточием, и блок инструкций, который будет выполнен, если проверяемое условие неверно, в данном случае будет выведено значение -x.
Итак, условная инструкция в Питоне имеет следующий синтаксис:
if Условие: Блок инструкций 1 else: Блок инструкций 2
Блок инструкций 1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен Блок инструкций 2.
В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x, то это можно сделать следующим образом:
В этом примере переменной x будет присвоено значение -x, но только в том случае, когда x Для выделения блока инструкций, относящихся к инструкции if или else в языке Питон используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела и не рекомедуется использовать в качестве отступа символ табуляции.
Вложенные условные инструкции
Внутри условных инструкций можно использовать любые инструкции языка Питон, в том числе и условную инструкцию. Получаем вложенное ветвление – после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):
x = int(input()) y = int(input()) if x > 0: if y > 0: # x>0, y>0 print("Первая четверть") else: # x>0, y 0: # x0 print("Вторая четверть") else: # x
В этом примере мы использовали комментарии – текст, который интерпретатор игнорирует. Комментариями в Питоне является символ # и весь текст после этого символа до конца строки.
Операторы сравнения
Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения:
Меньше — условие верно, если первый операнд меньше второго. > Больше — условие верно, если первый операнд больше второго. Меньше или равно. >= Больше или равно. == Равенство. Условие верно, если два операнда равны. != Неравенство. Условие верно, если два операнда неравны. Например, условие (x * x < 1000) означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y”.
Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или 1
Ветвления (Python). 8 класс
Разветвляющиеся алгоритмы. Ветвление.
Алгоритмы, в которых последовательность
шагов зависит от выполнения некоторых
условий, называются разветвляющимися.
Условие - это логическое выражение,
которое может содержать знаки отношений.
3.
Знаки для записи условий
меньше
больше
>
меньше или равно
>=
равно
==
больше или равно
!=
не равно
Простые условия записываются в виде равенств или
неравенств.
Примеры записи простых условий:
ПРИМЕРЫ
a!=b
a a+3*c==20
4.
Разветвляющиеся алгоритмы
Для записи разветвляющихся алгоритмов
в языке Python используют
условный оператор IF – ELSE.
Оператор имеет две формы записи:
полного и неполного ветвления.
5. Выбор наибольшего из двух чисел (вар.1)
Программирование (Python), 8 класс
5
Выбор наибольшего из двух чисел (вар.1)
Задача: изменить порядок действий в зависимости от
выполнения некоторого условия.
полная
форма
да
нет
ветвления
a > b?
M=a
M=b
вывод M
отступы
4 пробела.
К.Ю. Поляков, Е.А. Ерёмин, 2018
?
Если a = b?
if a > b:
M = a
else:
M = b
http://kpolyakov.spb.ru
6. Вариант 1. Программа (полное ветвление)
Программирование (Python), 8 класс
6
Вариант 1. Программа (полное ветвление)
print("Введите два целых числа")
a = int(input())
b = int(input())
if a > b:
полная форма
условного
M = a
оператора
else:
M = b
print("Наибольшее число", M)
Решение c вызовом функции max и особой записью
условного оператора :
M = max(a, b)
К.Ю. Поляков, Е.А. Ерёмин, 2018
M = a if a > b else b
http://kpolyakov.spb.ru
7. Выбор наибольшего из двух чисел (вар. 2)
Программирование (Python), 8 класс
7
Выбор наибольшего из двух чисел (вар. 2)
начало
ввод a,b
M =a
да
b > a?
нет
неполная
форма
ветвления
M =b
вывод M
конец
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
8. Вариант 2. Программа (неполное ветвление)
Программирование (Python), 8 класс
8
Вариант 2. Программа (неполное ветвление)
print("Введите два целых числа")
a = int(input())
b = int(input())
M = a
неполная форма
условного
if b > a:
оператора
M = b
print("Наибольшее число", M)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Примеры
Программирование (Python), 8 класс
9
Примеры
Поиск минимального:
if a < b:
M = a
if b < a:
M = b
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Cортировка по убыванию
Программирование (Python), 8 класс
11
Вложенные условные операторы
Задача: в переменных a и b записаны возрасты Андрея и
Бориса. Кто из них старше?
Сколько вариантов?
if a > b:
print("Андрей старше")
else:
if a == b:
print("Одного возраста")
else:
print("Борис старше")
?
?
Зачем нужен?
К.Ю. Поляков, Е.А. Ерёмин, 2018
вложенный
условный оператор
http://kpolyakov.spb.ru
11. Вложенные условные операторы
Программирование (Python), 8 класс
12
Каскадное ветвление
if a > b:
print("Андрей старше")
elif a == b:
print("Одного возраста")
else:
print("Борис старше")
!
elif = else if
Если после else сразу следует ещё один оператор if,
можно использовать «каскадное» ветвление с
ключевым словом elif (сокращение от else-if)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
12. Каскадное ветвление
Программирование (Python), 8 класс
13
Каскадное ветвление
cost = 1500
if cost < 1000:
print ( "Скидок
elif cost < 2000:
print ( "Скидка
elif cost < 5000:
print ( "Скидка
else:
print ( "Скидка
?
Что выведет?
К.Ю. Поляков, Е.А. Ерёмин, 2018
нет." )
2%." )
первое сработавшее
условие
5%." )
10%." )
Скидка 2%.
http://kpolyakov.spb.ru
13. Каскадное ветвление
Знаки для записи условий
Сложное условие состоит из нескольких простых,
связанных с помощью логических связок:
and – И (конъюнкция - одновременное выполнение условий)
or – ИЛИ (дизъюнкция - выполнение хотя бы одного из условий)
not – не (инверсия - отрицание условия)
ПРИМЕРЫ
х>5 and х x>0 and x х>2 or х a=0 or (b=0 and c=0)
not х > 5