Привет, друзья! Сегодня мы продолжим наше путешествие по миру программирования на языке Python и поговорим о логических операторах. Эти операторы играют важную роль в создании условий и управлении потоком выполнения программы. Этот урок является частью “модуля 4.2” из курса «Поколение Python»: курс для начинающих» с ответами на вопросы и подробным кодом.
Логическое умножение (and)
Логический оператор and
используется для проверки истинности двух выражений. Если оба выражения истинны, то результат будет True; если хотя бы одно из них ложно — результат будет False.
Пример:
a = True b = False result = a and b print(result) # Вывод: False
Логическое сложение (or)
Оператор or
возвращает True, если хотя бы одно из двух выражений истинно. Если оба выражения ложны, результат будет False.
Пример:
a = True b = False result = a or b print(result) # Вывод: True
Логическое отрицание (not)
Оператор not
применяется к одному выражению и инвертирует его значение. То есть, если выражение было истинным — станет ложным, и наоборот.
Пример:
a = True result = not a print(result) # Вывод: False
Эти три логических оператора являются основными инструментами при составлении условий в ваших программах. Они помогают создавать более сложные логические конструкции и принимать решения на основе различных критериев.
На нашем сайте вы найдёте подробные решения задач модуля 4.2, которые помогут закрепить полученные знания на практике!
Настоятельно рекомендуем заглянуть туда и попробовать решить предложенные задания самостоятельно перед просмотром решений. Это отличный способ повысить свои навыки программирования!
Решения модуль 4.2 «Поколение Python»: курс для начинающих
В этом уроке идут задания на отработку логических операторов: and, or и not. На этой странице представлены все решения задач из этого модуля (урока).
Расположите логические операторы в порядке значимости их приоритета (от наибольшего до наименьшего).
- Логическое отрицание not
- Логическое умножение and
- Логическое сложение or
Приведенная ниже таблица истинности показывает разные комбинации истинности и ложности значений, соединённых логическими операторами. Заполните таблицу, выбрав True или False, чтобы показать, является результатом такой комбинации истина или ложь.
True and False – False
True and True – True
False and True – False
False and False – False
True or False – True
True or True – True
False or True – True
False or False – False
not True – False
not False – True
Приведенная ниже таблица истинности показывает разные комбинации истинности и ложности значений, соединённых логическими операторами. Заполните таблицу, выбрав True или False, чтобы показать, является результатом такой комбинации истина или ложь.
Логическое выражение | True | False |
---|---|---|
a == 2 or b > 2 | + | |
6 <= c and a > 3 | + | |
1 != b and c != 3 | + | |
a >= -1 or a <= b | + | |
not (a > 2) | + | |
not (c <= 10) | + |
Что будет выведено на экран в результате выполнения следующей программы?
num1 = 34
num2 = 81
if num1 // 9 == 0 or num2 % 9 == 0:
print('число', num1, 'выиграло')
else:
print('число', num2, 'выиграло')
Ответ: число 34 выиграло
Какое значение будет выведено на экран после выполнения следующей программы, если с клавиатуры введено число 7?
a = int(input())
if a >= 2 and a <= 17:
b = 3
p = a * a + b * b
else:
b = 5
p = (a + b) * (a + b)
print(p)
Ответ: 100
Принадлежность 1
Напишите программу, которая принимает целое число xx и определяет, принадлежит ли данное число указанному промежутку.
# Получаем целое число и сохраняем его в переменной a a = int(input()) # Проверяем, если число a больше или равно 0 и меньше 17 if a > -1 and a < 17: print('Принадлежит') else: print('Не принадлежит')
Принадлежность 2
Напишите программу, которая принимает целое число xx и определяет, принадлежит ли данное число указанным промежуткам.
# Получаем целое число и сохраняем его в переменной n n = int(input()) # Проверяем, если число n НЕ принадлежит интервалу от -3 до 7 if not (-3 < n < 7): print('Принадлежит') else: print('Не принадлежит')
Принадлежность 3
Напишите программу, которая принимает целое число xx и определяет, принадлежит ли данное число указанным промежуткам.
# Получаем целое число и сохраняем его в переменной a a = int(input()) # Проверяем, если число a принадлежит одному из двух интервалов: # - от -30 (включительно) до -2 (исключительно) # - от 7 (включительно) до 25 (включительно) if (a > -30 and a <= -2) or (a > 7 and a <= 25): print('Принадлежит') else: print('Не принадлежит')
Красивое число ?️
Назовем число красивым, если оно является четырехзначным и делится нацело на 77 или на 1717. Напишите программу, определяющую, является ли введённое число красивым. Программа должна вывести «YES», если число является красивым, или «NO» в противном случае.
# Получаем целое число и сохраняем его в переменной a a = int(input()) # Проверяем, если число a кратно 7 или кратно 17 и находится в диапазоне от 1000 до 9999 включительно if (a % 7 == 0 or a % 17 == 0) and (a >= 1000 and a <= 9999): print('YES') else: print('NO')
Неравенство треугольника
Напишите программу, которая принимает три положительных числа и определяет, существует ли невырожденный треугольник с такими сторонами.
# Получаем целые числа и сохраняем их в переменных a, b и c a = int(input()) b = int(input()) c = int(input()) # Проверяем, выполняется ли неравенство треугольника для заданных сторон if (a < (b + c)) and (b < (a + c)) and (c < (a + b)): print("YES") else: print("NO")
Високосный год
Напишите программу, которая определяет, является ли год с данным номером високосным. Если год является високосным, то выведите «YES», иначе выведите «NO».
Год является високосным, если его номер кратен 4, но не кратен 100, или если он кратен 400.
# Получаем год и сохраняем его в переменной year year = int(input()) # Проверяем, выполняются ли условия для високосного года: # Год делится на 4 без остатка, # Год не делится на 100 без остатка, за исключением случаев, когда год делится на 400 без остатка. if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print('YES') else: print('NO')
Ход ладьи
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом ладьи можно попасть во вторую, или «NO» в противном случае.
# Получаем четыре координаты и сохраняем их в переменных r1, c1, r2, c2 r1, c1, r2, c2 = int(input()), int(input()), int(input()), int(input()) # Если строка откуда куда равны r1 == r2 # Или столбец откуда куда равны c1 == c2 if r1 == r2 or c1 == c2: print('YES') else: print('NO')
Ход короля
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом короля можно попасть во вторую, или «NO» в противном случае.
# Получаем четыре координаты и сохраняем их в переменных x1, y1, x2, y2 x1 = int(input()) y1 = int(input()) x2 = int(input()) y2 = int(input()) # Вычисляем разность координат по осям x и y для определения хода короля x = x2 - x1 # разность координат по оси x y = y2 - y1 # разность координат по оси y # так как король может ходить во все направления, но только на одну клетку. if -1 <= x <= 1 and -1 <= y <= 1: print('YES') else: print('NO')
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Всех с наступающим.,,,
Помогите понять почему, у ладьи, и короля разные решения. Не могу разобраться.
Если в зависимости от самой игры,,
Король ходит как угодно но на 1 клетку,,, а ладья может ходить по вертикали , и горизонтали сколько угодно клеток. Почему название переменных в заданиях различны.
почему последних ответов всё время нет?
Блокировщик рекламы их вырезает
Ох уж этот блокировщик рекламы >:(
Всегда вырезает решения задач вместо рекламы, да админ?( Программисту блокировщика же занятся нечем как решения с сайта вырезать (ещё и частично)…
Так это и сделано специально, если считаете что сайт вам помогает то добавляйте его в белый список.
prosto lu4shie rebat,spasibo
a = int(input())
if a >= 2 and a <= 17:
b = 3
p = a * a + b * b
else:
b = 5
p = (a + b) * (a + b)
print(p)
Ответ 58
У вас 100?
7>2 и 7<17
p=7*7+3*3=58
a = 7, b = 3
Строка p после цикла, поэтому 100
Вы мне очень помогли! Спасибо!
у нас 13 задача должна решаться иначе, вот так:
a = int(input())
if (a % 4 == 0 and a % 100 != 0) or (a % 400 == 0):
print(«YES»)
else:
print(«NO»)
Надеюсь, если у вас тоже — это вам поможет
Доброе утро!
Спасибо большое за информацию, добавлю как альтернативный вариант решения)
Без вас, наверное, забросил бы всё. Только в задачах с шахматами так и не понял условия.
Я тоже не понял условие
абожаю вас!!!! спасибо бальшое еслибы не вы, я бы не получила 5555
Рады помочь!)
Призываю использовать сайт СТРОГО для проверки
Конечно. Ведь главная цель – изучение питона, не так ли?
Ну если уж никак, то можно и подсмотреть)
самый лутшый сайт!!!+