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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
Итак, рассмотрим одно из решений.

🔗Код:

a, b, c = int(input()), int(input()), int(input())
total = 0
if a > 0:
total = total + a
if b > 0:
total = total + b
if c > 0:
total = total + c
print(total)


🔗Вот так можно сократить запись счетчика:

a, b, c = int(input()), int(input()), int(input())
total = 0
if a > 0:
total += a
if b > 0:
total += b
if c > 0:
total += c
print(total)


🟰 Суть задания в том, что подается 3 строки, а мы выводим только сумму положительных чисел. 🧑‍💻
0️⃣ Итак, как мы видим, мы вводим новую переменную total (в нашем случае это наш счетчик суммы), именно с ней будем работать.

1️⃣ Далее, прописываем условный оператор для того, чтобы находить положительные числа.

⭕️2️⃣То есть, если a > 0, значит прибавляем к значению переменной total - значение переменной a.

‼️Кстати, по-другому строку total = total + a можно записать чуть короче: total += a‼️

3️⃣Итак, возвращаясь к задаче, если у нас подается отрицательное число, то оно просто не прибавляется к total. Кода все три строки проходят через условный оператор, мы выводим переменную total (Наш счетчик).
🧑‍💻 Вот другое решение одного из кентиков в комментариях.

Здесь он не вводил никаких дополнительных переменных счетчиков (Забыл сказать, что total в прошлой задаче называется обычно счетчиком).

⭕️ Итак, если число отрицательное, то просто приравниваем его к нулю и как только все все три строки пройдут проверку, просто складываем их. Все что с нулем, не даст никаких результатов.

🔗 Код:

a, b, c = int(input()), int(input()), int(input())
if c < 0:
c = 0
if b < 0:
b = 0
if a < 0:
a = 0
print(a + b + c)
Йоу, быстренько разберем задачку 'последовательность чисел 2', как обычно стоит перчик 🌶, но нам это нестрашно❗️
🔗Код:

n = int(input())
s = int(input())

if n > s:

for i in range(n, s - 1, -1):
print(i)

else:
for k in range(n, s + 1, +1):
print(k)
⭕️ Вводим два числа и код выводит последовательность до указанного числа (включительно)
0️⃣ Значит, касаемо кода: у нас два случая:

⭕️ Либо n > s (значит на ввод подается 9 и 1)
⭕️Либо n < s (значит на ввод подается 1 и 9).

Далее. условный оператор и range:

1️⃣ Если хорошо вспомним, в range мы можем подавать три аргумента, (start, stop,step).

2️⃣‼️То есть, в первом условном операторе записано следующее: Перебираем числа от n до s - 1, с шагом -1.

3️⃣ На случай, если вы спросите, какого это хя s - 1? Я вам отвечу, ‼️что из s мы отнимаем единичку, потому что числа идут включительно. Если мы поставим конец просто s, то последнюю цифру мы не затронем.

‼️То есть, если будет вводить 9 и 1, то выведет 9 8 7 6 5 4 3 2, единичку в этом случае выводить не будет, а она нам нужна.
⭕️ Тоже самое будет, в случае n < s, просто в обратную сторону
Сегодня постараюсь разобрать с вами парочку задани,й а начнем мы с курса от Яндекса. Задача 'Шарики и ручки' #Шарики_и_ручки
🧑‍💻 Вообще, после егэ я не особо рассчитывал что наткнусь на теорию вероятностей, благо задача каких то жестких вычислений не требует) Итак, кодик получился максимально небольшой, надо лишь немного подумать.

‼️ Значит, есть у нас ящик с шариками, а найти нам надо через какое количество ходов дети найдут сигму победителя. Победил, кстати, тот, кто первым вытащит зеленый шарик.
0️⃣⭕️ Итак, для начала вводим три переменные (цвета шариков) и затем прописываем формулу для переменной count.

Для начала, почему + между red и blue? А потому что два независимых события происходят одновременно (В нашем случае, дети перебирают цвета шариков).

С этим разобрались, но почему +1? Все дело в том, что в условии сказано, что победитель - этот тот чел, который первым вытащит зеленый шарик. ‼️ИММЕННО ПЕРВЫМ (Мы сложили красные и синие шары, так что первый шар, который вытащат после этих двух групп шариков, и будет зеленым‼️ )

🔗 Код:

red = int(input())
green = int(input())
blue = int(input())
count = red + blue + 1

print(count)
🧑‍💻⭕️ Еще стоит разобрать че такое 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