Похожие презентации:
Условный оператор
1. Условные и логические операторы
2. Пример программы
print('Какой язык программирования мы изучаем?')answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
Программа считывает текст и
проверяет, если введенный текст
равен строке 'Python', то выводит
пользователю текст:
Верно! Мы ботаем Python =)
Python - отличный язык!
3.
4. Условный оператор
print('Какой язык программирования мы изучаем?')answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
Двоеточие (:) в конце строки сообщает, что дальше находится блок
команд
В блок входят все строки, расположенные с отступом
Если условие истинно, выполняется весь блок команд
5. Условный оператор
print('Какой язык программирования мы изучаем?')answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
else:
print('Не совсем так!')
В этой программе мы обрабатываем сразу два случая:
● если условие истинно (ввели 'Python'),
● и если условие ложно (ввели что угодно, кроме 'Python')
6. Условный оператор
print('Какой язык программирования мы изучаем?')answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
отступ
блок команд
7.
ОтступыВ Python отступ – это неотъемлемая часть кода
Отступ означает небольшое смещение строки кода вправо
Отступ сообщает, где начинается и где заканчивается блок кода
Для отступа блоков кода используются 4 пробела
8. Условная конструкция (if-else)
• Проверяет истинно или ложно утверждение• Истина – if, ложь – else
• Условие – вопрос с ответом «да» или «нет»
• Отступы
9. Операторы сравнения
Для проверки условия мы используем специальный символ: двойноеравенство (==):
print('Какой язык программирования мы изучаем?')
answer = input()
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
== это условный оператор сравнения
(проверка на равенство)
10. Операторы сравнения
Не путать:оператор присваивания (=) VS условный оператор (==)
num = 1992
s = 'I love Python'
оператор присваивания (=)
придает переменным значения
if answer == 'Python':
if name == 'Gvido':
if temperature == 40:
условный оператор (==)
проверяет на равенство два
значения
Путаница с операторами == и = является одной из самых
распространенных ошибок в программировании
11. Операторы сравнения
В Python существует 6 основных операторов сравнения:Выражение
Описание
Оператор
Описание
if x > 7
если x больше 7
>
больше
if x < 7
если x меньше 7
<
меньше
>=
больше либо равно
<=
меньше либо равно
if x >= 7
if x <= 7
если x больше либо
равно 7
если x меньше либо
равно 7
if x == 7
если x равен 7
==
равно
if x != 7
если x не равен 7
!=
не равно
12. Операторы сравнения
Программа может содержать несколько условных операторов: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?
13. Цепочки сравнений
Операторы сравнения в Python можно объединять в цепочки:age = int(input())
if 3 <= age <= 6:
print('Вы ребёнок')
if a == b == c:
print('числа равны')
else:
print('числа не равны')
код проверяет: находится ли
значение переменной age, в
диапазоне от 3 до 6
код проверяет: равны ли все три
переменные a, b, c друг другу
Цепочки сравнения – это фича Python
14. Задачи
1. Напишите программу, которая считывает одну строку. Если это строка «Python», программа выводит «ДА» впротивном случае программа выводит «НЕТ».
2. Напишите программу, которая определяет, состоит ли двузначное число, введенное с клавиатуры, из одинаковых
цифр. Если состоит то, программа выводит «ДА» в противном случае программа выводит «НЕТ».
Самостоятельно
3. Даны два целых числа. Выведите значение наибольшего из них. Если числа равны, выведите любое из них. Формат
входных данных: Вводятся два числа. Формат выходных данных: Выведите ответ на задачу.
4. Напишите программу, которая сравнивает пароль и его подтверждение. Если они совпадают, то программа
выводит: «Пароль принят», иначе: «Пароль не принят». Формат входных данных: На вход программе подаются две
строки. Формат выходных данных: программа должна вывести одну строку в соответствии с условием задачи.
Ввод
Вывод
5. Напишите программу, которая определяет наименьшее из двух чисел. Формат входных
данных: Вводятся два числа. Формат выходных данных: Выведите ответ на задачу.
qwerty
qwerty
Пароль
принят
Ввод
Вывод
qwerty
Qwerty
Пароль не
принят
7
17
7
98
5
5
6. Напишите программу, которая по введенному возрасту пользователя
сообщает, к какой возрастной группе он относится:
до 13 включительно – детство
Ввод
Вывод
от 14 до 24 – молодость
от 25 до 59 – зрелость
11
детство
от 60 – старость
27
зрелость
15. Ответы на задачи
1word = input()
if word == 'Python'
print('ДА')
else:
print('НЕТ')
2 num = int(input())
last_digit = num % 10
first_digit = num // 10
# последняя цифра числа
# первая цифра числа
if last_digit == first_digit:
print('ДА')
else:
print('НЕТ')
Остальные задачи решаете
самостоятельно. Позже тренер покажет
решения со своего компьютера на
экране
16. Логические операции
Сложное условие состоит из нескольких условийВ Python есть три логических операции, которые позволяют создавать сложные условия:
and: логическое умножение, “и”
2. or: логическое сложение, “или”
3. not: логическое отрицание, “не”
1.
17. Операция and
Предположим мы хотим написать программу для учеников от двенадцати лет, которые учатсяпо крайней мере в 7 классе ( в 7 классе или выше: 8, 9, 10, 11)
age = int(input())
grade = int(input())
if age >= 12 and grade >= 7:
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется только при
выполнении обоих условий
одновременно!
Мы объединили два условия при помощи операции and
18. Операция and
Операция and может объединять произвольное количество условий:age = int(input(‘Сколько вам лет?’))
grade = int(input(‘В каком классе вы учитесь?’))
city = input(‘В каком городе вы живете?’)
if age >= 12 and grade >= 7 and city == 'Москва':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Устно: прокомментируйте, какие
условия тут закодированы?
Задание в коде: Придумать код с
операцией and
Мы объединили три условия при помощи операции and
19. Таблица истинности для операции and
Операция and возвращает истину когда оба выражения истинныa
b
a and b
False
False
False
False
True
False
True
False
False
True
True
True
20. Операция or
Операция or также применяется для объединения условийcity = input()
if city == 'Москва' or city == 'Уфа':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Блок выполняется в случае если хотя
бы одно из условий выполняется!
Мы объединили два условия при помощи операции or
21. Операция or
Операция or может объединять произвольное количество условий:city = input(‘В каком городе ты живешь?’)
if city == 'Москва' or city == ‘Санкт-Петербург' or city == ‘Екатеринбург':
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Мы объединили три условия при помощи операции or
22. Таблица истинности для операции or
Операция or возвращает ложь когда оба выражения ложныa
b
a or b
False
False
False
False
True
True
True
False
True
True
True
True
Задание в коде: придумать
код с операцией or
Для того чтобы выражение or было истинным, требуется, чтобы хотя бы
одно условие оператора or было истинным. При этом не имеет
значения, истинным или ложным является второе выражение.
23. Операция and и or вместе
Мы можем использовать обе логические операции одновременно:age = int(input(‘Сколько вам лет?:’))
grade = int(input(‘В каком классе вы учитесь?:’))
city = input(‘В каком городе вы живете?:’)
if age >= 12 and grade >= 7 and (city == 'Москва' or
city == ‘Санкт-Петербург' or city == 'Тула'):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Устно: прокомментируйте,
какие условия тут
закодированы?
Задание в коде: придумать
аналогичный код
24. Операция not
Операция 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
25. Таблица истинности для операции not
anot a
False
True
True
False
age = int(input(‘Сколько вам лет?:’))
grade = int(input(‘В каком классе вы учитесь?:’))
city = input(‘В каком городе вы живете?:’)
if age >= 12 and grade >= 7 and (city == 'Москва' or
city == ‘Санкт-Петербург' or city == 'Тула'):
print('Доступ разрешен.')
else:
print('Доступ запрещен.')
Задание в коде:
поставьте везде not и
прокомментируйте, как
поменялись условия?
26. Приоритет логических операций
ОперацияПриоритет
not
0
and
1
or
2
сначала отрицание not
далее логическое умножение and
далее логическое сложение or
Для явного указания порядка выполнения логических
операций мы используем скобки
27. Примечания
Частой ошибкой является путаница логических 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:
28. Решение задач вместе с тренером в среде программирования
1. Напишите программу, которая определяет, является лизаданное число трехзначным.
2. Напишите программу, которая проверяет, что все три цифры
трехзначного числа различны.
3. Напишите программу, которая по координатам точки не
лежащей на осях координат, определяет номер координатной
четверти в которой она находится
2 четверть
1 четверть
3 четверть
4 четверть
29. Решение задач вместе с тренером в среде программирования. Ответы
12
num = int(input())
if 100 <= num <= 999:
print('Число является трехзначным')
else:
print('Число не является трехзначным')
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('Цифры не различны')
3
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 четверть')
Обратите внимание, никакие два из
четырех условий не могут быть
истинными одновременно
30. Задача «Существует ли треугольник?»
Даны три натуральных числа A, B, C. Определите, существует ли треугольник с такими сторонами. Если треугольниксуществует, выведите строку YES, иначе выведите строку NO.
Треугольник — это три точки, не лежащие на одной прямой.
Формат входных данных
Вводятся три числа.
Формат выходных данных
Выведите ответ на задачу.
Sample Input:
3
4
5
Sample Output:
YES
Ввод
Вывод
3
4
5
YES
31. Задача «Ладья»
Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите,может ли ладья попасть с первой клетки на вторую одним ходом.
Формат входных данных
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для
первой клетки, потом для второй клетки.
Формат выходных данных
Программа должна вывести YES, если из первой клетки ходом ладьи можно попасть во вторую или NO в противном
случае.
Sample Input:
3
3
3
8
Ввод
Sample Output:
YES
3
Вывод
3
3
8
YES
32. Задача «Шоколадка»
Шоколадка имеет вид прямоугольника, разделенного на N×M долек. Шоколадку можно один раз разломить попрямой на две части. Определите, можно ли таким образом отломить от шоколадки ровно K долек.
Формат входных данных
Программа получает на вход три числа: N, M, K
Формат выходных данных
Программа должна вывести одно из двух слов: YES или NO.
Sample Input:
3
4
6
Sample Output:
YES
Ввод
Вывод
3
4
6
YES
33. Задача «Жизнь персонажа»
Николай написал функцию is_alive(health), которая проверяетздоровье персонажа в игре. Если оно равно или меньше нуля, то
функция возвращает False, в противном случае True. К
сожалению, функция не работает, так как ученик допустил в ней
ряд ошибок. Исправьте их и проверьте работоспособность
программы (в качестве аргумента всегда передается число).
def is_alive(health):
____if:
____health < 0
_______False
____else:
_______return true
34. Задача «Жизнь персонажа»
Решение:В функции Николая есть ряд ошибок:
- True – пишется с большой буквы
- проверка здоровья должна писаться после выражения if до двоеточия и включать в себя
нулевое значение
- в теле оператора if значение False должно возвращаться, а не просто объявляться.
def is_alive(health):
if health <= 0:
return False
else:
return True
# Тесты
print(is_alive(122))
print(is_alive(0))
print(is_alive(-1))
35. Задача «Месяцы»
Составьте функцию season_events(number_of_month), котораяпринимает номер месяца вашего рождения и в зависимости от
сезона печатает на выходе следующее:
Вы родились в <НАЗВАНИЕ_МЕСЯЦА>. <ОПИСАНИЕ_СОБЫТИЙ>.
В качестве ОПИСАНИЯ_СОБЫТИЙ будет характеристика сезона:
- для зимы За окном падал белый снег,
- для весны Птицы пели прекрасные песни,
- для лета Солнце светило ярче чем когда-либо,
- для осени Урожай был невероятным.
Важно учесть, что пользователи могут ввести любой тип данных
в качестве аргумента (не попадитесь на этом: требуется ввести
реальный номер месяца).
36. Задача «Месяцы»
Решение:Для выведения на печать каждого месяца удобно
воспользоваться словарем. Можно, конечно,
использовать if / else конструкцию, но в этом
случае она неразумно увеличивает объем кода. А
вот для четырех сезонов вполне годится
условное выражение.
months = {
1: 'Январе',
2: 'Феврале',
3: 'Марте',
4: 'Апреле',
5: 'Мае',
6: 'Июне',
7: 'Июле',
8: 'Августе',
9: 'Сентябре',
10: 'Октябре',
11: 'Ноябре',
12: 'Декабре'
}
def season_events(number_of_month):
if not isinstance(number_of_month, int) and 1 <=
number_of_month <= 12:
print('Требуется ввести реальный номер месяца')
return
if number_of_month in range(3, 6):
print(f'Вы родились в {months[number_of_month]}. Птицы
пели прекрасные песни')
elif number_of_month in range(6, 9):
print(f'Вы родились в {months[number_of_month]}.
Солнце светило ярче чем когда-либо')
elif number_of_month in range(9, 12):
print(f'Вы родились в {months[number_of_month]}. Урожай
был невероятным')
else:
print(f'Вы родились в {months[number_of_month]}. За
окном падал белый снег')
# Тесты
season_events(33)
season_events('wq')
season_events(1)
season_events(7)
season_events(10)
season_events(5)
37. Еще задачи
38. Задача «Принадлежность 3»
Напишите программу, которая принимает целое число x иопределяет, принадлежит ли данное число указанным
промежуткам.
Ввод
Вывод
-15
YES
2
NO
10
YES
39. Задача «Високосный год»
Напишите программу, которая определяет, является ли год сданным номером високосным.
Год является високосным, если
Ввод
Вывод
2020
YES
2009
NO
его номер кратен 4, но не кратен 100
или если он кратен 400
40. Задача «Ход ладьи»
Даны две различные клетки шахматной доски. Напишитепрограмму, которая определяет, может ли ладья попасть с первой
клетки на вторую одним ходом.
Ввод
Вывод
4
5
4
2
YES
Программирование