Опубликовано

Встречайте новинку: “Python. 12 уроков для начинающих”

Python. 12 уроков для начинающих

В 12 уроках показаны основы программирования и базовые конструкции языка Python. Изложены принципы различных стилей программирования. Даны понятия ввода-вывода, переменных, условий, потока чисел, циклов и списков, массивов, функций и рекурсий. Рассмотрены особенности структурного, объектно-ориентированного и функционального программирования. В каждой главе предложены практические задачи и дано их пошаговое решение с подробным описанием алгоритма.

Для начинающих программистов

Основы программирования и базовые конструкции языка Python.

Python используется как в коммерческих проектах, так и для обучения новичков программированию. Кроме того, он наиболее удобен для сдачи ЕГЭ по информатике. На практических примерах, подробно рассмотренных в отдельных уроках, читатель изучит основные конструкции Python, освоит базовые приемы и стили программирования. Решение каждой задачи приводится в книге пошагово — так, как разработчики пишут программы в реальности. Подробные разборы задач и описания алгоритмов основаны на практических занятиях автора со своими учениками. С помощью этой книги читатель не только изучит язык Python, но и научится программировать, что, как показывает практика, совсем не одно и то же.

  • Изучите основные языковые конструкции языка Pyhon
  • Освойте программирование в ходе 12 наглядных уроков
  • Научитесь понимать и писать код в различных стилях программирования
  • Прокачайте алгоритмическое мышление

Книгу “Python. 12 уроков для начинающих” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Введение………………………………………………………………………………………………….. 5

Как обучают языкам программирования?………………………………………………………………………………… 5

И вот появился язык Python…………………………………………………………………………………………………………. 7

Структура книги…………………………………………………………………………………………………………………………… 7

Благодарности……………………………………………………………………………………………………………………………… 8

Об авторе………………………………………………………………………………………………………………………………………. 9

Урок 1. Ввод/вывод, переменные, условия……………………………………………… 10

1.1. Привет, мир!…………………………………………………………………………………………………………………………. 10

1.2. Как тебя зовут?……………………………………………………………………………………………………………………. 13

1.3. Чему равно 12 + 34?……………………………………………………………………………………………………………. 15

1.4. Линейное уравнение…………………………………………………………………………………………………………… 18

1.5. Тип треугольника………………………………………………………………………………………………………………… 26

1.6. Стакан чая и кружка кофе………………………………………………………………………………………………….. 29

Урок 2. Поток чисел, циклы и списки……………………………………………………. 34

2.1. Поток чисел, рекуррентные формулы……………………………………………………………………………….. 34

2.2. Поток чисел, списки……………………………………………………………………………………………………………. 40

2.3. Векторы: длина, сумма, скалярное произведение……………………………………………………………. 46

Урок 3. Флаги. Структурное программирование и стиль Python…………….. 51

3.1. Эпидемия на корабле………………………………………………………………………………………………………….. 51

3.2. Является ли слово палиндромом?……………………………………………………………………………………… 55

3.3. Поиск и замена подстроки в строке…………………………………………………………………………………… 59

3.4. Сравнение чисел между собой. Множества……………………………………………………………………… 62

Урок 4. Словари, рекуррентный индекс в списке…………………………………… 76

4.1. Палиндром путем перестановки букв……………………………………………………………………………….. 76

4.2. Подстановки………………………………………………………………………………………………………………………… 83

Урок 5. Двумерные списки…………………………………………………………………….. 88

5.1. Сложение, транспонирование и умножение матриц……………………………………………………….. 88

5.2. Магический квадрат…………………………………………………………………………………………………………… 98

Итоги уроков 1–5……………………………………………………………………………………………………………………… 105

Урок 6. Декомпозиция программы в функции……………………………………… 106

6.1. Математические формулы как функции…………………………………………………………………………. 106

6.2. Функция факториал с циклом………………………………………………………………………………………….. 108

6.3. Библиотека формул комбинаторики……………………………………………………………………………….. 110

6.4. Декомпозиция магического квадрата в функции……………………………………………………………. 114

Урок 7. Рекурсии………………………………………………………………………………….. 117

7.1. Рекурсивный факториал…………………………………………………………………………………………………… 117

7.2. Числа Фибоначчи без списка, списком, с рекурсией……………………………………………………… 119

7.3. Быстрое возведение в степень………………………………………………………………………………………….. 125

7.4. Мемоизация чисел Фибоначчи………………………………………………………………………………………… 128

7.5. Генерация слов и перестановок………………………………………………………………………………………. 132

Урок 8. Динамика по подотрезкам……………………………………………………….. 139

8.1. Палиндром максимальной длины вычеркиванием букв……………………………………………….. 139

8.2. Максимальный квадрат в матрице………………………………………………………………………………….. 155

Урок 9. Функциональное программирование………………………………………. 163

9.1. Сумма факториалов в функциональном стиле………………………………………………………………. 163

9.2. Стандартные функционалы Python………………………………………………………………………………… 170

9.3. Стандартные функционалы для «Эпидемии на корабле»…………………………………………….. 173

9.4. Стандартные функционалы Python для суммы факториалов………………………………………. 175

9.5. Частичное применение функции на примере степени……………………………………………………. 178

9.6. Универсальный мемоизатор…………………………………………………………………………………………….. 184

9.7. Декораторы……………………………………………………………………………………………………………………….. 191

9.8. Генераторы……………………………………………………………………………………………………………………….. 199

Итоги уроков 6–9……………………………………………………………………………………………………………………… 202

Урок 10. Объектно-ориентированное программирование
предметной области «Геометрия»…………………………………………………………. 204

10.1. Класс «точка»………………………………………………………………………………………………………………….. 204

10.2. Предметная область «Геометрия»…………………………………………………………………………………. 211

10.3. Геометрическая фигура «многоугольник»……………………………………………………………………. 222

10.4. Составные фигуры………………………………………………………………………………………………………….. 227

Урок 11. Матрица в объектно-ориентированном стиле………………………… 231

11.1. Конструктор, индексатор………………………………………………………………………………………………. 231

11.2. Транспонирование, сложение, умножение…………………………………………………………………… 233

11.3. Определитель, обратная матрица, возведение в степень……………………………………………. 235

Урок 12. Программирование сложных коллекций……………………………….. 246

12.1. Функторы…………………………………………………………………………………………………………………………. 246

12.2. Коллекция «кольцо» и задача Иосифа Флавия…………………………………………………………….. 253

12.3. Мемоизация максимального квадрата матрицы в словаре………………………………………… 260

Итоги уроков 10–12…………………………………………………………………………………………………………………. 268

Заключение………………………………………………………………………………………….. 270

Предметный указатель…………………………………………………………………………. 271

Добряк Павел Вадимович

Добряк Павел Вадимович — кандидат технических наук, преподаватель Уральского федерального университета. Проводит занятия по различным языкам программирования, базам данных, искусственному интеллекту и проектированию информационных систем. Репетитор по математике и информатике.

Summary
Aggregate Rating
4 based on 2 votes
Добавить комментарий