Дальше идет цикл, как работают циклы, мы с вами уже разбирали. 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.
Итак, там дальше вот такая хуйня идет крутая, но я ее разберу завтра сутра, пока что думаю выложить пару задачек полегче #Ход_ферзя
CodeLab
‼️0️⃣ В данном случае, название_переменной_цикла это i. По сути можете брать любые буквы или слова, тут как вам удобнее. 1️⃣ Количество повторений в данном случае 10, но тут тоже можно поиграться. После циклов всегда ставим : и автоматически продолжаете…
Я как то уже пытался объяснить че такое циклы, я думаю дальше продолжим с ними
Первая задачка, тут по примеру все ясно. Цикл 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)
Все добрый день, не дай бог вы все еще спите. Как и говорил, разбираем финального босса. Ферзь... Он, кстати, в отличие от своих коллег очень даже преуспел и ходит слишком своевольно. Для начала, можно заметить, что сама задача состоит из двух прошлых: Ход ладьи(1) и ход слона(2). Один ходит по горизонтали и вертикали и горизонтали, другой по диагонали. #Ход_ферзя
👍1
Для начала, пропишем условие, чтобы наш чел мог попасть с одной клетки на другую по вертикали и горизонтали. Я прикрепляю самую ахуенную картинку для понимая этих задачек. Возьмем 2 картинку и представим, что зеленая клетка это позиция нашей фигуры. Она может пойти по вертикали или горизонтали. Допустим, идет она по вертикали, и, чтобы это условие выполнилось, ее координаты по y должны быть равны (y1 == y2). По вертикали выделены синие координаты, по горизонтали красные. А если мы решим пойти по горизонтали, то равны будут ее x (x1 == x2).
Дальше, нам нужно, чтобы ферзь мог пойти по диагонали с одной клетки на другую, мы уже будем обращаться к слону, потому что он так ходит. Итак. смотрим на вторую картинку. Зеленым выделена клетка нашего ферзя, который хочет пойти по диагонали. Сумма координат синих клеток будет всегда равна, также как и разница красных. Код будет немного позже