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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
Итак, можно разобрать такую классную задачку на арифметическую прогрессию. как раз о ней немного поговорим. #Арифметические_строки
⭕️ Для начала, че такое арифметическая прогрессия?

⭕️ Арифметическая прогрессия — это последовательность чисел, в которой каждый член, начиная со второго, получается путем прибавления к предыдущему члену постоянного числа, называемого разностью арифметической прогрессии.

⭕️ Постоянное число это разность d если че. Все мы тем более помним эти ахунные формулы со школы.
Допустим, нужно нам найти 6-й член арифметической прогрессии, вот вам просто вспомнить как это делается
This media is not supported in your browser
VIEW IN TELEGRAM
Я устал думать, всем пака
Как же решать эту задачу? Один из кентиков дал формулу в коментах к заданию (2b-c-a)(2c-b-a)(2a-b-c) = 0), но формулы явно нам мало, у другого кента я нашел объяснение к этой самой формуле. Если ссылаться на Википедию, то она гласит, что 'Если каждый член арифметической прогрессии больше предыдущего, то такая прогрессия называется возрастающей'. У нас есть равенство a - b = b - c (пусть а это 1, b это 2 и с будет 3), по сути тут такая же херь, каждый последующий член больше предыдущего на разницу d. Как лично я понял, а я могу понять неправильно, то как раз таки разницей у нас и будет -1, (ну потому что 1 - 2 = 2 - 3 ) .
CodeLab
⭕️ Для начала, че такое арифметическая прогрессия? ⭕️ Арифметическая прогрессия — это последовательность чисел, в которой каждый член, начиная со второго, получается путем прибавления к предыдущему члену постоянного числа, называемого разностью арифметической…
Че такое арифметическая прогрессия я уже объяснил, по сути, осталось привязать это определение к нашему объяснению. Пусть у нас a - 1, b - 2, c - 3. Теперь подставляем: 1 - 2 = 2 - 3. Так то все заебись сходится, можем кодить.
Итак, суть задачи - узнать, можно ли из длин этих строк построить арифметическую прогрессию. Значит работаем мы именно с длинами строк. Дальше прописываем формулу и все. Но я бы хотел разобрать еще парочку готовых решений.
Все всем пака, завтра продолжим
Гоу разберем на ночь еще одно, по моему мнению, классное решение. Я вам до этого кидал такую фотаче, тут можем заметить формулу сумму первых членов. Просто перепишем формулу в виде кода..
Итак, с первой строчкой все ясно, просто подается 3 строки. Затем мы создаем две переменные, отвечающие за максимальную длину одной из 3 трех строчек, и минимальную длину одной из 3 строк. Зачем мы это вообще делаем? Для определения арифметической прогрессии, нам надо знать минимальную, среднюю и максимальную длины строк. Поговорим о 4 строчке, я сначала сам не понял захуем это сделали, но чел из комментов объяснил что "если все 3 числа равны, то это арифметическая прогрессия с шагом 0 (или, как ее еще называют, стационарная арифметическая прогрессия)". Только сейчас я пишу это и понимаю, что сам я бы навряд ли додумался до такого решения, но все мы только учимся. Что касаемо 4 строки кода, Тут значит у нас формула, ее я нашел в комментах и выложу чуть позже.
Всем пака 🫣
У нас есть свойство, суть этого свойства в том, что нам, для нахождения всякого члена арифметической прогрессии, нужно всего лишь найти среднее арифметическое его соседних членов. Я надеюсь, что на данном этапе вы уловили суть: у нас с вами есть три члена арифметической прогрессии, а их средний член будет равен полусумме крайних.
Вот как раз та самая формула. Если вы вдруг нашли ошибку в объяснении или решении, комменты открыты
Ну, и последнее рассматриваемое нами решение этой задачи, как по мне самое адекватное. Первые 5 строчек все окей, затем находим средний член арифметической прогрессии (сумма всех длин минус Максимум минус Минимум). Вспоминаем вот это вот выражение a-b==b-c (Типо сравниваем два числа, СРЕДНЕЕ - МИНИМАЛЬНОЕ и МАКСИМАЛЬНОЕ - СРЕДНЕЕ). Если они равны - прогрессия есть. В первом решении мы рассматривали три перестановки (Меняли среднее - минимальное на еще какую нибудь хейню), а тут мы сразу прописали, что у нас является максимальной и минимальной длиной, ввели средний член арифметической прогрессии и тд
👍3
Там дальше идет объяснение оператора in, мы на данный момент только разобрали метод split() и функцию len() (это касаемо строкового типа данных #str). Я попробую рассказать об этом операторе сам. Сам оператор определяет принадлежность какого это элемента, допустим, строки в последовательности, это может быть список, кортеж, множество или другая строка. #in
👍2
Давайте самое простое, проверка на наличие строки в другой строке. Я вам даю три примера, то как это может выглядеть
👍2
Так, сделаю небольшой пост про продолжение оператора #in, мы с вами говорили про то, что он для проверки наличия элемента(строки) в строке, дак вот также мы можем проверить наличие элемента в списках
1
Есть в конце 6.2 задача легкая, как раз на повторение того, что разобрали раньше. #Корректный_email
👍2