64

Программирование Python по моим конспектам. Лекция 29

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.


Для тех кто не в теме, тут я перевожу свои лекции по питону с языка немецкого на язык человеческий, поэтому- если что- я не виноват. Эти лекции созданы не для того, чтобы сделать из человека говнокодера, а для того, чтобы помочь в сложных темах, которые некому объяснить, а книга по программированию не может с этим помочь. Если вы никогда не были в такой ситуации- значит вы вундеркинд и я хочу от вас детей.

Отвечая на 90% одинаковых вопросов-

Я знаю, что это есть в каждой книге по питону. Это логично. Не логично было бы, если бы это было в книге по анатомии хомяков.


Я это делаю, потому что мне это нравится.



Привет, друзья. Сегодня мы немного усложним нашу жизнь, и объединим прошлую тему о слайсах с рекурсией. Поэтому писать буду мало, но если вы заморочитесь всерьез с тем, что я написал, то я могу поздравить вас с проебанным днем.


Существует множество алгоритмов, которые позволяют нам работать с последовательностями с помощью рекурсии. Для примера возьмем такую задачу.

Необходимо с помощью рекурсии посчитать сумму элементов списка.


Итак, сначала решение, а затем объяснения.

Объявляем функцию summ c параметром list.

если последовательность пуста- вернуть ноль

Иначе к первому элементу последовательности прибавить сумму остальных элементов.

В нашем случае это так выглядит

summ([1,2,5,7])=

1+(summ([2,5,7])+(2+summ([5,7]))+(5+summ([7]))


На практике нам часто приходится искать элимент в последовательности. Конечно, мы можем сделать это, используя оператор in

>>>3 in (3,5,)

>>>True


НО! Бывают случаи, когда необходимо найти в последовательности элименты, которые располагают определенным свойством.


К примеру, дан ряд телефонных номеров в списке.

125 254455

012 124598

598 634654

012 874646

546 654545


необходимо найти все номера, которые начинаются с кода 012


Алгоритм таков.

1. Если список состоит из одного элемента, проверь удовлетворяет ли он условия поиска. Если да, верни список, если нет- верни пустой список

2 Если список состоит из нескольких элементов, раздели этот список на две приблизительно равных части, объедини их и проведи алгоритм заново для обеих частей.


Выглядит так.

На этом пока все.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества