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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
Так, попытаюсь разобрать хотя бы одно решение ходки коня. Куда и нахуя он ходит мы и попытаемся разобраться. Начнем с очень хорошего примечания, что Конь ходит буквой Г. Также берем вторую картинку во внимание. Что-то подобное я вам кидал, просто тут более конкретно изображены ходы коня. #Ход_коня
Как нам уже сказали, конь ходит буквой Г. И если мы очень хорошо взглянем на координаты, то следующее: берем наш пример, начальные координаты коня 5:4, если он пойдет буквой Г как показано на рисунке, то его x меняется на 1, а его y меняется на 2, аналогично было бы, если бы мы пошли наоборот, но сдвиг будет отрицательным (картинка 2). Суть в том, что произведение разностей этих координат будет равно 2 (как на 1 рисунке) или -2, как на (2 рисунке). Мы до этого задания, разбирали похожее, где было решение через модуль. Вы можете попробовать решить самостоятельно, я выложу несколько решений с разбором чуть позже.
CodeLab
Photo
В целом, код будет очень схож с нашим заданием, просто здесь мы сравнивали разности координат, а в нашем случае мы должны к чему то приравнять.
CodeLab
Задача посложнее, пока что от вас требуется понять, что выведет код, и каким будет ответ. Варианты ниже 👇🏿 Попозже сделаю разбор задачи, некоторые моменты мы не затрагивали
Итак, всем добре утро, начнем с разбора этой задачки, мы с вами вроде как этого не касались, но давайте расширять границы хуле. Задача у нас, как можно было догадаться по первой строчке, проверка на палиндром. Палиндром это короче такая хуйня, которая читается одинаково с начала и конца. Число 1221 также является палиндромом. 1. Итак, для начала вводим переменную string и присваиваем ей строку, которая предположительно будет палиндромом. 2. Дальше идет Char = True. Что это вообще такое? Char это такая же переменная, но мы присваиваем ей логический тип данных (True, False). Дак вот это все называется ФЛАГОМ. В Python это индикатор состояния. То есть, когда мы ввели Char = True, мы предполагаем что строка является палиндромом.
Дальше идет цикл, как работают циклы, мы с вами уже разбирали. for i in range(len(string) // 2): (В первой строчке цикл проходит половину длины строки). Длина строки у нас 9, значит половина строки при целочисленном делении будет равна 4. Значит цикл for в первой строчке будет пробегать индексы от 0 до 4 (не включительно). Итак, на вторую строчку подается индекс 0 (потому что начинаем с 0), Если этот самый индекс 0 нашей строки (Это если что буква 'н'), не равен индексу -(0 +1), а тут поподробнее. Я вам вставлю 2 фотку для понимания. В данном случае у нас индекс отрицательный, потому что перед скобками минус. Теперь еще раз по второй строке дословно: Если индекс 0, что является знаком 'н' не равен индексу -1, что является также буквой 'н', только с конца строки... то есть если 'н' не равно 'н', то программа скажет динаху, строка не палиндром. а если это условие на будет выполнено, то и наш флаг останется True, значит слово является палиндромом.
Вся задача сводится к тому, что мы просто проверяем элементы в начале строки и в конце строки, подается у нас индекс 0 - значит проверяем 'н' в начале и 'н' в конце. Подается индекс 1, значит 1 индекс в начале строки 'а' сравнивается с -2 индексом с конца, это у нас также а (по задаче) и так далее пока не дойдет до середины, когда все индексы будут поданы.
CodeLab
Как нам уже сказали, конь ходит буквой Г. И если мы очень хорошо взглянем на координаты, то следующее: берем наш пример, начальные координаты коня 5:4, если он пойдет буквой Г как показано на рисунке, то его x меняется на 1, а его y меняется на 2, аналогично…
Теперь, что насчет коня и решения к нему. Как я уже сказал, разница координат должна быть 1 и 2, так как конь ходит буквой 'Г', но вот будет ли разница 2 между исками или игриками, зависит от того, куда мы решим походить, именно поэтому, самое легкое решение будет через модуль (как по мне). Тем более, мы рассматривали это решение в задании 'ход Слона'. Итак, просто визуализируем наше решение.
Вот вам подобное решение, но тут мы расписываем немного больше, рассматриваем все разницы координат. По сути, мы всего-то должны знать для решения данной задачи, что фигура ходит вот так - 'Г', и представлять координаты на шахматной доске.
В закрепленном комментарии мы видим вот такое шикарное решение. Тут ничего сложного нет, но я конечно же до этого не смог додуматься. У нас по факту фигурируют только цифры 1, -1, 2, -2, так что произведение этих самых сдвигов кроме как -2 или 2 по другому и не получится, опять же учитывая тот факт, что фигура ходит буквой 'Г', где мы преодолеваем 2 клетки вниз, вверх, вправо влево и одну клетку по такой же траектории. Ну и еще одно решение, достаточно интересное...
👍1
Теорема Пифагора, кто бы мог подумать, а ведь кто-то смог. Тут вроде все понятно, фигура преодолевает две клетки и затем 1 на 90 градусов, по сути, образуя прямоугольный треугольник. Вот и по теореме Пифагора 'квадрат длины гипотенузы равен сумме квадратов длин катетов', пишем код. Поскольку мы изначально знаем, как может ходить фигура, то можно понять, что сумма квадратов катетов 1 и 4 будет равна 5.
Всем споки гайс, завтра продолжим кодить
Итак, там дальше вот такая хуйня идет крутая, но я ее разберу завтра сутра, пока что думаю выложить пару задачек полегче #Ход_ферзя
Первая задачка, тут по примеру все ясно. Цикл for, напомню, нужен для перебора последовательностей. Для начала создаем переменную n = int(input), int, потому что целочисленный тип данных. Затем пишем классическое for i in range(n), Как раз таки n в скобках это наша последовательность, элементы которой и будет обходить наш цикл for. Ну и дальше пишем print('*' * (n - i)). Почему, собственно, так? Допустим, подается 5, на первой итерации (повторении цикла), у нас будет i принимать значение 0. Само по себе i является итератором. Итератор, к слову — это переменная, которая принимает каждое значение из последовательности по одному за каждую итерацию цикла. Когда i принимает значение 0, print выводит 5 звездочек, поскольку (5-0) * '*'. С каждой итерацией, меняться будет только i, поэтому выводиться будет все 'обратной лесенкой'. #Звездный_треугольник (7.1)