CodeLab
145 subscribers
538 photos
20 videos
159 links
Говорим просто о сложном

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
🧑‍💻⭕️ Еще стоит разобрать че такое and и or, а то мы как то их пропустили.

Разберем сразу на коде. Выводом, кстати, будет True. #Операторы_and_or

🔗Код:

x = 5
y = 10
z = 15

result = (x < 10) and (y < z) or (x == y)
print(result)
‼️А еще, чтобы не изобретать велосипед: написано все максимально доходчиков
CodeLab
🧑‍💻⭕️ Еще стоит разобрать че такое and и or, а то мы как то их пропустили. Разберем сразу на коде. Выводом, кстати, будет True. #Операторы_and_or 🔗Код: x = 5 y = 10 z = 15 result = (x < 10) and (y < z) or (x == y) print(result)
⭕️ Касаемо кода, в переменную result мы записываем выражение.

‼️ Как мы уже сказали, логический оператор and возвращает True, если оба условия будут равны (В нашем случае, если условия (x < y) и (y < z) будут соблюдаться, ответ будет True, но, если хотя бы одно их них не сработает, то False)
🧑‍💻А вообще, для наглядности ебнем еще одни скобки.

🔗Значит, если оба операнда (x < y это типо операнд) будут True ИЛИ (x == y), то получим на выходе True.

Поскольку x ниуя не равен y, а первая скобка выполняется, то ответ будет по прежнему True

‼️Короче, чтобы было прям понятно. Для оператора AND важно чтобы все операнды были TRUE. А для оператора OR совсем это не важно. Он возвращает TRUE, если один хотя бы будет истинный. ‼️

🔗 Код:

x = 5
y = 10
z = 15

result = (x < 10) and (y < z) or (x == y)
print(result)
‼️ В данном случае мы поменяли знак на противоположный и выводит False, поскольку один из операндов между and не будет выполняться, также x не будет равен значению y

🔗 Код:

x = 5
y = 10
z = 15

result = ((x > 10) and (y < z)) or (x == y)
print(result)
🧑‍💻 Вы можете спросить, зачем я поставил тут not ⁉️

‼️В данном случае not инвертирует логическое выражение.

Итак, x не равен y, это мы уже выяснили.

‼️Но как только ставим not, то в скобках ответ будет инвертироваться (Мы знаем что x и y не равны, но, поставили not, теперь, выражение что они не равны - ложно, надеюсь немного понятно).

🔗 Вот попробуйте поиграться со знаками сами:

x = 5
y = 10
z = 15

result = ((x > 10) and (y < z)) or not (x == y)
print(result)


К примеру, мы могли бы не записывать not, а просто поставить (x != y), и ответ был бы таким же.

Этот код также выводит True:

x = 5
y = 10
z = 15

result = ((x > 10) and (y < z)) or (x != y)
print(result)


‼️То есть картинка такая же как и сверху, но, поскольку мы добавили not, условие ИЛИ - будет выполняться, а значит ответ True. (Скобка с И дает False, а условный оператор OR NOT дает TRUE)
🟰Разбираем ну супер классное задание 'Принадлежность 3 (4.2)', подобную тему вы могли разбирать в школе. Это сказка. а не задание! 🟰

🧑‍💻 Итак, разработчики нам все прекрасно объяснили и теперь давайте писать код #Принадлежность_3
0️⃣ Начнем, наверное, с int(input()), любимая наша строка.✔️

1️⃣ Далее, прописываем условный оператор, как раз всякие штуки по типу and и or мы уже с вами разобрали.

2️⃣ Теперь, как пишем, так и читаем: Если x > -30 и x <= 2 (<= потому что точка закрашенная, это я на всякий) ИЛИ x > 7 и x <= 25: то принадлежит, если нет. то и хй с ней
‼️Теперь остается переписать это на более понятный язык и задачку мы с вами выполнили
✔️Буквально переписали псевдокод ;)

x = int(input())
if (x > -30 and x <= -2) or (x > 7 and x <= 25):
print('Принадлежит')
else:
print('Не принадлежит')
Красивое или некрасивое⁉️

Давайте разберемся 🧑‍💻

0️⃣ Для начала, обратим внимание на то, что число четырехзначное, а значит, это что-то между 1000 и 9999.

1️⃣ Далее, деление должно быть нацело (без остатка) на 7 или 17. Теперь к коду #Красивое_число
🧑‍💻Буквально делаем тоже самое, что и в прошлой задаче, действуем строго по условиям.

‼️Условия оба обязательны, поэтому между ними and. Готовим себя перед чем то жестким

🔗Код:

num = int(input())
if (num % 7 == 0 or num % 17 == 0) and (1000 <= num <= 9999):
print('YES')
else:
print('NO')
🔗 Итак, очередная хорошая задача 'Високосный год 4.2', для начала сделаем то, что получается не всегда хорошо - подумаем #Високосный_год
‼️По поводу самого условия, почему так, я вам расскажу после решения, а для начала, разберем как ее решить.

🧑‍💻 По сути, просто переписываем условие так, как нам и говорят, ничего не меняя: год високосный если его номер кратен 4 но не кратен 100 (кратность - деление без остатка, или же нацело) ИЛИ если номер кратен 400. Самое время переписать.
🔗Код:

x = int(input())
if (x % 4 == 0 and x % 100 != 0) or x % 400 == 0:
print('YES')
else:
print('NO')
А вот и объяснение, откуда вообще такие деления взялись
Админ отдыхал 💤, так что начинаем ебшить.

🧑‍💻 И начинаем мы сразу с самых моих любимых задач, а именно шахматы. Из за них у меня не один раз возникало желание бросить все это.

❗️ В целом, если разобраться, задачи не сильно и сложные, куда сложнее их понять) #Ход_ладьи
0️⃣🧑‍💻 Итак, для начала, обратим внимание на то, как ходит ладья, а именно по вертикали и горизонтали, нам это все указано.

1️⃣ Теперь, представим ходы в виде координат. x1 и y1 это начальные координаты, x2 и y2 конечные.
2️⃣ Обращаемся к нашему крестику.

‼️3️⃣
Клетка имеет координаты (4,8). Клетка, где стоит ладья, имеет координаты (4,4)
. И если мы решим по синей стрелочке подняться вверх, то меняться будет ТОЛЬКО ОДНА КООРДИНАТА, X.

‼️4️⃣Именно это условие является положительным для хода ладьи - по горизонтали или вертикали. То есть, по вертикали будет изменяться только она координата, это x. А по горизонтали будет изменяться y.

UPD: Вы можете сравнить мою логику с кодом, у вас может что - то пойти не так из - за других переменных (Типо x у вас будет горизонталью, а y вертикалью)
🔗Вот вам код:

x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())

if x1 == x2 or y1 == y2:
print('YES')
else:
print('NO')