Практикум по решению задач на языке Питон 3. Базовый уровень

В этой книге подробно рассматривается решение более 100 задач: математических, словесных, комбинаторных, вероятностных, игровых. И это не учебные, надуманные задачи, которые обычно предлагаются в учебниках по программированию, а вполне конкретные, которые можно встретить в журналах, книгах и на конкурсах по программированию. Изучать теорию можно бесконечно, но без практического применения знаний она ничего не стоит. Только ежедневные упражнения в решении самых разнообразных задач помогут вам стать настоящими программистами.

Помните, что любую задачу можно решить несколькими способами, и не всегда в книге приводится лучшее из них. Цель книги более скромная: показать, как можно решить задачу наиболее простым и понятным способом. Начинающим важно научиться решать задачи именно так, потому что более быстрые/эффективные решения обычно гораздо сложнее и совершенно непонятны начинающим программистам. И тем не менее вы должны искать собственные решения предложенных задач – только так вы научитесь разрабатывать проекты самостоятельно.

Кроме собственно решения задач, мы разработаем и «вспомогательные» проекты:

  • Делимость чисел
  • Наибольший общий делитель
  • Наименьшее общее кратное
  • Простые числа. Решето Эратосфена
  • Факторизация чисел
  • Совершенные числа
  • Числовые ребусы
  • Факториал
  • Числа Фибоначчи
  • Генерирование перестановок
  • Генерирование сочетаний
  • Разбиение числа на слагаемые

Книга охватывает все ключевые элементы языка Питон:

  • Числа
  • Строки
  • Логический тип
  • Локальные и глобальные переменные
  • Арифметические и логические выражения
  • Условный оператор if – elif - else
  • Списки
  • Кортежи
  • Словари
  • Циклы for и while
  • Вложенные и бесконечные циклы
  • Операторы return, continue, break
  • Функции с параметрами и без параметров
  • Лямбда-функции
  • Классы

В самом начале книги находится Тематический указатель, который поможет вам ориентироваться в проектах и легко находить нужный. В конце многих глав имеются задания для самостоятельного решения.

Для решения задач используются следующие методы и алгоритмы:

  • метод грубой силы, полный перебор (brute force)
  • поиск в глубину d**epth-first search, DFS)
  • динамическое программирование (dynamic programming)
  • алгоритм Эратосфена (The Sieve of Eratosthenes)
  • простой и быстрый алгоритм Евклида
  • рекурсия (recursion)

Все проекты разрабатывались в Microsoft Visual Studio 2015 с Python Tools for Visual Studio 2015 и в PyCharm 5 . Поскольку исходный код программ с расширением **.*py не содержит никакой специфической информации, то может быть запущен в любой другой среде разработки программ на Питоне, хотя бы в IDLE.

Везде используется версия Python 3.5, но исходный код будет работать и в более ранних версиях Питона (но не 2.7!).

Книга здесь:

Исходники здесь:

Ролик на Ютубе здесь: