Similar presentations:
Программирование (Python). Ветвления
1. Программирование (Python)
1Программирование
(Python)
Ветвления
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Выбор наибольшего из двух чисел
Программирование (Python), 8 класс2
Выбор наибольшего из двух чисел
Задача: изменить порядок действий в зависимости от
выполнения некоторого условия.
полная
форма
да
нет
ветвления
a > b?
M=a
M=b
вывод M
отступы
К.Ю. Поляков, Е.А. Ерёмин, 2018
if a > b:
M = a
else:
M = b
http://kpolyakov.spb.ru
3. Вариант 1. Программа
Программирование (Python), 8 класс3
Вариант 1. Программа
print("Введите два целых числа")
a = int(input())
b = int(input())
if a > b:
полная форма
условного
M = a
оператора
else:
M = b
print("Наибольшее число", M)
Решение в стиле Python:
M = max(a, b)
К.Ю. Поляков, Е.А. Ерёмин, 2018
M = a if a > b else b
http://kpolyakov.spb.ru
4. Выбор наибольшего из двух чисел-2
Программирование (Python), 8 класс4
Выбор наибольшего из двух чисел-2
начало
ввод a,b
M =a
да
b > a?
нет
неполная
форма
ветвления
M =b
вывод M
конец
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
5. Вариант 2. Программа
Программирование (Python), 8 класс5
Вариант 2. Программа
print("Введите два целых числа")
a = int(input())
b = int(input())
M = a
неполная форма
условного
if b > a:
оператора
M = b
print("Наибольшее число", M)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
6. Знаки отношений
Программирование (Python), 8 класс6
Знаки отношений
> <
больше, меньше
>=
больше или равно
<=
меньше или равно
==
равно
!=
не равно
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
7. Вложенные условные операторы
Программирование (Python), 8 класс7
Вложенные условные операторы
Задача: в переменных a и b записаны возрасты Андрея и
Бориса. Кто из них старше?
Сколько вариантов?
if a > b:
print("Андрей старше")
else:
if a == b:
print("Одного возраста")
else:
print("Борис старше")
?
? Зачем нужен?
К.Ю. Поляков, Е.А. Ерёмин, 2018
вложенный
условный оператор
http://kpolyakov.spb.ru
8. Каскадное ветвление
Программирование (Python), 8 класс8
Каскадное ветвление
if a > b:
print("Андрей старше")
elif a == b:
print("Одного возраста")
else:
print("Борис старше")
! elif = else if
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Задачи (без функций min и max!)
Программирование (Python), 8 класс9
Задачи (без функций min и max!)
«A»: Ввести два целых числа, найти наибольшее и
наименьшее из них.
Пример:
Введите два целых числа:
1 5
Наибольшее число 5
Наименьшее число 1
«B»: Ввести четыре целых числа, найти наибольшее из
них.
Пример:
Введите четыре целых числа:
1 5 4 3
Наибольшее число 5
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Сложные условия
Программирование (Python), 8 класс10
Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет
включительно. Ввести возраст человека и определить,
подходит ли он фирме (вывести ответ "подходит" или
"не подходит").
Особенность: надо проверить, выполняются ли два
условия одновременно:
возраст 25
возраст 40
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
11. Плохое решение
Программирование (Python), 8 класс11
Плохое решение
print("Введите ваш возраст")
v = int(input())
if v >= 25:
вложенный
условный
if v <= 40:
оператор
print("Подходит!")
else:
print("Не подходит.")
else:
print("Не подходит.")
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
12. Хорошее решение (операция «И»)
Программирование (Python), 8 класс12
Хорошее решение (операция «И»)
Задача: набор сотрудников в возрасте 25-40 лет
(включительно).
сложное условие
if v >= 25 and v <= 40 :
print("подходит")
else:
print("не подходит")
and «И»: одновременное выполнение
всех условий!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
13. Примеры
Программирование (Python), 8 класс13
Примеры
Задача. Вывести "Да", если число в переменной a –
двузначное.
if 10 <= a and a <= 99:
print("Да")
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
14. Сложные условия: «ИЛИ»
Программирование (Python), 8 класс14
Сложные условия: «ИЛИ»
Задача. Самолёт летает по понедельникам и четвергам.
Ввести номер дня недели и определить, летает ли в
этот день самолёт.
Особенность: надо проверить, выполняется ли одно из
двух условий:
день = 1
день = 4
if d == 1 or d == 4 :
print("Летает")
else:
print("Не летает")
сложное
условие
or «ИЛИ»: выполнение хотя бы одного
из двух условий!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
15. Ещё пример
Программирование (Python), 8 класс15
Ещё пример
Задача. Фирма набирает сотрудников от 25 до 40 лет
включительно. Ввести возраст человека и определить,
подходит ли он фирме (вывести ответ "подходит" или
"не подходит"). Использовать «ИЛИ».
if v < 25 or v > 40 :
print("не подходит")
else:
print("подходит")
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
16. Сложные условия: «НЕ»
Программирование (Python), 8 класс16
Сложные условия: «НЕ»
if not(a < b):
print("Cтарт!")
? Как без «НЕ»?
not «НЕ»: если выполняется обратное условие
if a >= b:
print("Cтарт!")
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
17. Простые и сложные условия
Программирование (Python), 8 класс17
Простые и сложные условия
Простые условия (отношения)
<
<=
>
>=
==
равно
!=
не равно
Сложное условие – это условие, состоящее из
нескольких простых условий (отношений),
связанных с помощью логических операций:
• and – одновременное выполнение условий
v >= 25 and v <= 40
• or – выполнение хотя бы одного из условий
v <= 25 or v >= 40
• not – отрицание, обратное условие
v <=
not (v > 25)
???25
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
18. Порядок выполнения операций
Программирование (Python), 8 класс18
Порядок выполнения операций
• выражения в скобках
• <, <=, >, >=, =, !=
• not
• and
• or
4
1
6
2
5
3
if not a > 2 or c != 5 and b < a:
...
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
19. Задачи
Программирование (Python), 8 класс19
Задачи
«A»: Напишите программу, которая получает три числа рост трёх спортсменов, и выводит сообщение «По
росту.», если они стоят по возрастанию роста, или
сообщение «Не по росту!», если они стоят не по
росту.
Пример:
Введите рост трёх спортсменов:
165 170 172
По росту.
Пример:
Введите рост трёх спортсменов:
175 170 172
Не по росту!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
20. Задачи
Программирование (Python), 8 класс20
Задачи
«B»: Напишите программу, которая получает номер
месяца и выводит соответствующее ему время года
или сообщение об ошибке.
Пример:
Введите номер месяца:
5
Весна.
Пример:
Введите номер месяца:
15
Неверный номер месяца.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
21. Задачи
Программирование (Python), 8 класс21
Задачи
«C»: Напишите программу, которая получает возраст
человека (целое число, не превышающее 120) и
выводит этот возраст со словом «год», «года» или
«лет». Например, «21 год», «22 года», «25 лет».
Пример:
Введите возраст: 18
Вам 18 лет.
Пример:
Введите возраст: 21
Вам 21 год.
Пример:
Введите возраст: 22
Вам 22 года.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru