Похожие презентации:
Условный оператор. Логические операции and, or, not Поколение Python: курс для начинающих. Урок 4
1.
Урок 4Условный оператор
Логические
операции and, or, not
Поколение Python:
курс для начинающих
2.
Вспоминаем прошлый урок1.
Какие основные операции над числами есть в Python?
2. Какие дополнительные операции над числами есть в Python?
3. kahoot.it
2
3.
Условный оператор4.
Условный оператор4
Программы должны уметь выполнять разные действия в
зависимости от введенных данных
Для принятия решения программа проверяет истинно или
ложно определенное условие
Проверка условий и принятие решений по результатам
этой проверки называется ветвлением (branching).
Программа таким способом выбирает, по какой из
возможных ветвей ей двигаться дальше.
5.
Условный оператор5
Рассмотрим следующую программу:
print('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
Программа считывает текст и
проверяет, если введенный
текст равен строке 'Python',
то выводит пользователю
текст:
Верно! Мы ботаем Python =)
Python - отличный язык!
6.
Условный операторprint('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
Двоеточие (:) в конце строки сообщает, что дальше находится
блок команд
В блок входят все строки, расположенные с отступом
Если условие истинно, выполняется весь блок команд
6
7.
Условный операторprint('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
отступ
блок команд
7
8.
Условный операторprint('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
else:
print('Не совсем так!')
В этой программе мы обрабатываем сразу два случая:
● если условие истинно (ввели 'Python'),
● и если условие ложно (ввели что угодно, кроме 'Python')
8
9.
Отступы9
В Python отступ - это неотъемлемая часть кода
Отступ означает небольшое смещение строки кода вправо
Отступ сообщает, где начинается и где заканчивается блок кода
Для отступа блоков кода
используются 4 пробела
10.
Операторы сравненияДля проверки условия мы используем специальный символ:
двойное равенство (==):
print('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
== это условный оператор
сравнения (проверка на
равенство)
10
11.
= VS ==11
Не путать:
оператор присваивания (=) VS условный оператор (==)
num = 1992
s = 'I love Python'
if answer == 'Python':
if name == 'Gvido':
if temperature == 40:
оператор присваивания (=)
придает переменным
значения
условный оператор (==)
проверяет на равенство
два значения
Путаница с операторами == и = является одной из самых
распространенных ошибок в программировании
12.
Операторы сравнения12
В Python существует 6 основных операторов сравнения:
Оператор
Описание
Пример использования
>
больше
if x > 7
<
меньше
if x < 7
>=
больше либо равно
if x >= 7
<=
меньше либо равно
if x <= 7
==
равно
if x == 7
!=
не равно
if x != 7
13.
Операторы сравнения13
Программа может содержать несколько условных операторов:
num1 = int(input())
num2 = int(input())
if num1 < num2:
print(num1, 'меньше чем', num2)
if num1 > num2:
print(num1, 'больше чем', num2)
if num1 == num2:
print(num1, 'равно', num2)
if num1 != num2:
print(num1, 'не равно', num2)
Что будет выведено, если:
num1 = 3, num2 = 7?
14.
Цепочки сравнений14
Операторы сравнения в Python можно объединять в цепочки:
age = int(input())
if 3 <= age <= 6:
print('Вы ребёнок')
if a == b == c:
print('числа равны')
else:
print('числа не равны')
код проверяет: находится
ли значение переменной
age, в диапазоне от 3 до 6
код проверяет: равны ли
все три переменные a,
b, c друг другу
Цепочки сравнения - это фича
Python
15.
ЗадачаНапишите программу, которая считывает одну строку.
Если это строка «Python», программа выводит «ДА» в
противном случае программа выводит «НЕТ».
15
16.
Задача16
Напишите программу, которая считывает одну строку.
Если это строка «Python», программа выводит «ДА» в
противном случае программа выводит «НЕТ».
word = input()
if word == 'Python'
print('ДА')
else:
print('НЕТ')
17.
ЗадачаНапишите программу, которая определяет, состоит ли
двузначное число, введенное с клавиатуры, из
одинаковых цифр. Если состоит то, программа выводит
«ДА» в противном случае программа выводит «НЕТ».
17
18.
Задача18
Напишите программу, которая определяет, состоит ли
двузначное число, введенное с клавиатуры, из
одинаковых цифр. Если состоит то, программа выводит
«ДА» в противном случае программа выводит «НЕТ».
num = int(input())
last_digit = num % 10
first_digit = num // 10
# последняя цифра числа
# первая цифра числа
if last_digit == first_digit:
print('ДА')
else:
print('НЕТ')
19.
ЗадачаНапишите программу, которая считывает три числа и
подсчитывает количество чётных чисел.
19
20.
Задача20
Напишите программу, которая считывает три числа и
подсчитывает количество чётных чисел.
num1 = int(input())
num2 = int(input())
num3 = int(input())
counter = 0 # переменная счётчик
if num1 % 2 == 0:
counter = counter + 1
if num2 % 2 == 0:
counter = counter + 1
if num3 % 2 == 0:
counter = counter + 1
print(counter)
21.
Задача «Пароль»Напишите программу, которая сравнивает пароль и его
подтверждение. Если они совпадают, то программа
выводит: «Пароль принят», иначе: «Пароль не принят».
Ввод
Вывод
qwerty
qwerty
Пароль принят
qwerty
Qwerty
Пароль не принят
В курсе: урок 4.1, стэп 4
21
22.
Задача «Роскомнадзор»22
Напишите программу, которая определяет разрешен ли
пользователю доступ к интернет ресурсу или нет.
Ввод
Вывод
16
Доступ запрещен
18
Доступ разрешен
В курсе: урок 4.1, стэп 7
23.
Задача «Наименьшее из двух чисел»Напишите программу, которая определяет наименьшее
из двух чисел.
Ввод
Вывод
7
17
7
98
5
5
В курсе: урок 4.1, стэп 9
23
24.
Задача «Возрастная группа»24
Напишите программу, которая по введенному возрасту
пользователя сообщает, к какой возрастной группе он
относится:
до 13 включительно – детство
от 14 до 24 – молодость
от 25 до 59 – зрелость
от 60 – старость
В курсе: урок 4.1 стэп 11
Ввод
Вывод
11
детство
27
зрелость
25.
Логические операции26.
Логические операцииСложное условие состоит из нескольких условий
В Python есть три логических операции, которые позволяют
создавать сложные условия:
1.
and: логическое умножение, “и”
2. or: логическое сложение, “или”
3. not: логическое отрицание, “не”
26
27.
Операция and27
Предположим мы хотим написать программу для учеников от
двенадцати лет, которые учатся по крайней мере в 7 классе:
age = int(input())
grade = int(input())
if age >= 12 and grade >= 7:
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется только
при выполнении обоих
условий одновременно!
Мы объединили два условия при помощи операции and
28.
Операция andОперация and может объединять произвольное
количество условий:
age = int(input())
grade = int(input())
city = input()
if age >= 12 and grade >= 7 and city == 'Москва':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы объединили три условия при помощи операции and
28
29.
Таблица истинности для операции anda
b
a and b
False
False
False
False
True
False
True
False
False
True
True
True
Операция and возвращает истину
когда оба выражения истинны
29
30.
Операция or30
Операция or также применяется для объединения условий:
city = input()
if city == 'Москва' or city == 'Уфа':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется в случае
если хотя бы одно из условий
выполняется!
Мы объединили два условия при помощи операции or
31.
Операция orОперация or может объединять произвольное количество
условий:
city = input()
if city == 'Москва' or city == 'Уфа' or city == 'Тула':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы объединили три условия при помощи операции or
31
32.
Таблица истинности для операции ora
b
a or b
False
False
False
False
True
True
True
False
True
True
True
True
Операция or возвращает ложь когда
оба выражения ложны
32
33.
Операция and и or вместе33
Мы можем использовать обе логические операции одновременно:
age = int(input())
grade = int(input())
city = input()
if age >= 12 and grade >= 7 and (city == 'Москва' or
city == 'Уфа' or city == 'Тула'):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
34.
Операция not34
Операция not позволяет инвертировать результат логического
выражения:
age = int(input())
if not (age < 12):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
age = int(input())
if age >= 12:
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы поместили скобки вокруг выражения age < 12 для того,
чтобы было чётко видно, что операция not применяется к
значению выражения age < 12, а не только к переменной
age
35.
Таблица истинности для операции nota
not a
False
True
True
False
35
36.
Приоритет логических операций36
Приоритет логических операций:
Операция
Приоритет
not
0
and
1
or
2
сначала отрицание not
далее логическое умножение and
далее логическое сложение or
Для явного указания порядка выполнения логических
операций мы используем скобки
37.
Примечания37
Частой ошибкой является путаница логических and и or:
if x > 1 and x < 100:
if x > 1 or x < 100:
Другой частой ошибкой является код:
if age >= 7 and <= 9:
if age >= 7 and age <= 9:
В Python есть способ для проверки принадлежности
диапазону:
if 7 <= age <= 9:
38.
ЗадачаНапишите программу, которая определяет, является ли
заданное число трехзначным.
38
39.
Задача39
Напишите программу, которая определяет, является ли
заданное число трехзначным.
num = int(input())
if 100 <= num <= 999:
print('Число является трехзначным')
else:
print('Число не является трехзначным')
40.
ЗадачаНапишите программу, которая проверяет, что все три
цифры трехзначного числа различны.
40
41.
Задача41
Напишите программу, которая проверяет, что все три
цифры трехзначного числа различны.
num = int(input())
d3 = num % 10
d2 = num % 100 // 10
d1 = num // 100
if d3 != d2 and d3 != d1 and d2 != d1:
print('Цифры различны')
else:
print('Цифры не различны')
42.
Задача42
Напишите программу, которая по координатам точки не
лежащей на осях координат, определяет номер
координатной четверти в которой она находится.
2 четверть
1 четверть
3 четверть
4 четверть
43.
Задача43
Напишите программу, которая по координатам точки не
лежащей на осях координат, определяет номер
координатной четверти в которой она находится.
2 четверть
3 четверть
1 четверть
4 четверть
Обратите внимание, никакие два
из четырех условий не могут быть
истинными одновременно
x = int(input())
y = int(input())
if x > 0 and y > 0:
print('1 четверть')
if x < 0 and y > 0:
print('2 четверть')
if x < 0 and y < 0:
print('3 четверть')
if x > 0 and y < 0:
print('4 четверть')
44.
Задача «Принадлежность 3»44
Напишите программу, которая принимает целое число x
и определяет, принадлежит ли данное число указанным
промежуткам.
В курсе: урок 4.2, стэп 10
Ввод
Вывод
-15
YES
2
NO
10
YES
45.
Задача «Високосный год»45
Напишите программу, которая определяет, является ли
год с данным номером високосным.
Год является високосным, если
его номер кратен 4, но не кратен 100
или если он кратен 400
В курсе: урок 4.2, стэп 13
Ввод
Вывод
2020
YES
2009
NO
46.
Задача «Ход Ладьи»46
Даны две различные клетки шахматной доски. Напишите
программу, которая определяет, может ли ладья попасть
с первой клетки на вторую одним ходом.
В курсе: урок 4.2, стэп 14
Ввод
Вывод
4
5
4
2
YES
47.
Над созданием курса работали:«Поколение Python»: курс для начинающих» разработан специально для
Благотворительного фонда развития образования «Айкью Опшн»
авторским коллективом школы BEEGEEK.
Авторы методических указаний для преподавателей:
Ольга Скобина (Ассоциация Российских Тренеров, АРТа)
Тимур Гуев (ОАНО Новая школа)
Роман Белых (БФ развития образования «Айкью Опшн»)
Дизайнеры:
Юлия Уебельман
Ольга Галак (БФ развития образования «Айкью Опшн»)
Редактор:
Наталья Белых
47
Программирование