ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 1542
Скачиваний: 6
СОДЕРЖАНИЕ
Задание по программированию: Следующее и предыдущее
Примеры использования логических выражений
Вложенный условный оператор и "иначе-если"
Задание по программированию: Какое число больше?
Задание по программированию: Максимум трех чисел
Задание по программированию: Високосный год
Тренировочное задание по программированию: Ход короля
Тренировочное задание по программированию: Квартиры
Задание по программированию: Коровы
Задание по программированию: Упорядочить три числа
Задание по программированию: Сколько совпадает чисел
Тренировочное задание по программированию: Цвет клеток шахматной доски
Тренировочное задание по программированию: Шоколадка
Задание по программированию: Коровы
Задание по программированию: Узник замка Иф
Задание по программированию: Список квадратов
Задание по программированию: Минимальный делитель
Тренировочное задание по программированию: Список степеней двойки
Задание по программированию: Утренняя пробежка
Задание по программированию: Максимум последовательности
Подсчет суммы и оператор continue
Задание по программированию: Сумма квадратов
Задание по программированию: Длина последовательности
Задание по программированию: Сумма последовательности
Задание по программированию: Максимальное число подряд идущих равных
Задание по программированию: Количество четных элементов последовательности
Задание по программированию: Второй максимум
Задание по программированию: Количество элементов, равных максимуму
Как устроены вещественные числа
Основы работы с вещественными числами
Задание по программированию: Округление по российским правилам
Задание по программированию: Проценты
Задание по программированию: Квадратное уравнение - 1
Задание по программированию: Система линейных уравнений - 1
Задание по программированию: Делаем срезы
Задание по программированию: Первое и последнее вхождение
Задание по программированию: Удаление фрагмента
Задание по программированию: Второе вхождение
Задание по программированию: Переставить два слова
Задание по программированию: Количество слов
Задание по программированию: Замена подстроки
Задание по программированию: Удаление символа
Задание по программированию: Минимум 4 чисел
Возврат нескольких значений функцией
Задание по программированию: Принадлежит ли точка квадрату - 1
Задание по программированию: Принадлежит ли точка кругу
Задание по программированию: Минимальный делитель числа
Локальные и глобальные переменные
Задание по программированию: Проверка числа на простоту
Задание по программированию: Возведение в степень
Задание по программированию: Сложение без сложения
Задание по программированию: Быстрое возведение в степень
Задание по программированию: Сократите дробь
Задание по программированию: Сумма последовательности
Задание по программированию: Разворот последовательности
Задание по программированию: Ряд - 1
Задание по программированию: Ряд - 2
| Знак сравнения | Описание |
| < | меньше |
| > | больше |
| <= | меньше либо равно |
| >= | больше либо равно |
| == | равно |
| != | не равно |
Примеры использования логических выражений
Одним из примеров использования логического выражения является проверка на делимость. Например, чтобы проверить, является ли число четным, необходимо сравнить остаток от деления этого числа на два с нулём: isEven = number % 2 == 0Рассмотрим задачу о пересечении двух длительных по времени событий. Оба события характеризуются двумя числами - годами начала и конца. Необходимо определить, пересекались ли события во времени, при этом если одно событие началось в тот год, когда закончилось другое - они считаются пересекающимися.Первая идея заключается в том, чтобы рассмотреть все возможные варианты расположения событий и выделить следующий критерий пересечения: если начало или конец одного из событий лежит между началом и концом другого, то они пересекаются. В виде программы это можно записать так: is1startIn2 = start2 <= start1 <= finish2is1finishIn2 = start2 <= finish1 <= finish2is1in2 = is1startIn2 or is1finishIn2is2startIn1 = start1 <= start2 <= finish1is2finishIn1 = start1 <= finish2 <= finish1is2in1 = is2startIn1 or is2finishIn1answer = is1in2 or is2in1Если немного подумать, то можно придумать более короткий критерий для проверки такого пересечения: необходимо, чтобы начало первого события происходило не позже конца второго и начало второго события происходило не позже конца первого. answer = start1 <= finish2 and start2 <= finish1Такой способ значительно проще.Условный оператор
Наиболее частое применение логические выражения находят в условных операторах.Условный оператор позволяет выполнять действия в зависимости от того, выполнено условие или нет. Записывается условный оператор как ''if <логическое выражение>:'', далее следует блок команд, который будет выполнен только если логическое выражение приняло значение True. Блок команд, который будет выполняться, выделяется отступами в 4 пробела (в IDE можно нажимать клавишу tab).Рассмотрим, например, задачу о нахождении модуля числа. Если число отрицательное, то необходимо заменить его на минус это число. Решение выглядит так: x = int(input())if x < 0:x = -xprint(x)В этой программе с отступом записана только одна строка, x = -x. При необходимости выполнить несколько команд все они должны быть записаны с тем же отступом. Команда print записана без отступа, поэтому она будет выполняться в любом случае, независимо от того, было ли условие в if'е истинным или нет.
В дополнение к if можно использовать оператор else: (иначе). Блок команд, который следует после него, будет выполняться если условие было ложным. Например, ту же задачу о выводе модуля числа можно было решить, не меняя значения переменной x:
x = int(input())
if x >= 0:
print(x)
else:
print(-x)
Все команды, которые выполняются в блоке else, должны быть также записаны с отступом. Else должен следовать сразу за блоком команд if, без промежуточных команд, выполняемых безусловно. Else без соответствующего if'а не имеет смысла.
Если после if записано не логическое выражение, то оно будет приведено к логическому, как если бы от него была вызвана функция bool. Однако, злоупотреблять этим не следует, т.к. это ухудшает читаемость кода.
Для подсчета модуля числа в Питоне существует функция abs, которая избавляет от необходимости каждый раз писать подсчет модуля вручную.
В Питоне, как и во многих других языках программирования, если результат вычисления выражения однозначно понятен по уже вычисленной части, то оставшаяся часть выражения даже не считается. Например, выражение True or 5 // 0 == 42, не будет вызывать ошибки деления на ноль, т.к. по левой части выражения (True) уже понятно, что результат его вычисления также будет True и арифметическое выражение в правой части даже не будет вычисляться.
Максимум из двух
Напишите программу, которая считывает два целых числа A и B и выводит наибольшее значение из них. Числа — целые от 1 до 1000.
Формат ввода
Вводятся два числа.
Формат вывода
Выведите ответ на задачу.
a = int(input())
b = int(input())
if a >= b:
print(a)
else:
print(b)
Вложенный условный оператор и "иначе-если"
Вложенный условный оператор
Внутри блока команд могут находиться другие условные операторы. Посмотрим сразу на примере. По заданному количеству глаз и ног нужно научиться отличать кошку, паука, морского гребешка и жучка. У морского гребешка бывает более сотни глаз, а у пауков их восемь. Также у пауков восемь ног, а у морского гребешка их нет совсем. У кошки четыре ноги, а у жучка – шесть ног, но глаз у обоих по два. Решение:eyes = int(input())legs = int(input())if eyes >= 8: if legs == 8: print("spider") else: print("scallop")else: if legs == 6: print("bug") else: print("cat")Если вложенных условных операторов несколько, то, к какому из них относится else, можно понять по отступу. Отступ у else должен быть такой же, как у if, к которому он относится.Конструкция ''иначе-если''
В некоторых ситуациях необходимо осуществить выбор больше чем из двух вариантов, которые могут быть обработаны с помощью if-else. Рассмотрим пример: необходимо вывести словом название числа 1 или 2 или сообщить, что это другое число:number = int(input())if number == 1: print('One')elif number == 2: print('Two')else: print('Other')Здесь используется специальная конструкция elif, обозначающая "иначе, если", после которой записывается условие. Такая конструкция введена в язык Питон, потому что запись if-else приведет к увеличению отступа и ухудшению читаемости.Конструкций elif может быть несколько, условия проверяются последовательно. Как только условие выполнено, запускается соответствующий этому условию блок команд и дальнейшая проверка не выполняется. Блок else является необязательным, как и в обычном if.Задание по программированию: Какое число больше?
Даны два целых числа. Программа должна вывести число "1", если первое число больше второго, число "2", если второе больше первого или число "0", если они равны.Формат вводаВводятся два целых числа.Формат выводаВыведите ответ на задачу.ПримечанияЭту задачу желательно решить с использованием каскадных инструкций if... элиф... еще.a = int(input())b = int(input())if a > b:print("1")elif b > a:print("2")else:print("0")