Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Python. Сборник упражнений

Покупка
Новинка
Артикул: 767816.02.99
Доступ онлайн
699 ₽
В корзину
Сборник содержит 186 задач по программированию разной степени сложности. Для ряда упражнений изложены решения с подробным разбором фрагментов кода и синтаксических конструкций языка Python. В книге представлен простой и понятный стиль программирования. Чтобы решить приведенные здесь задачи, достаточно базовых знаний языка Python. По мере изучения материала читатель отрабатывает навык использования таких техник, как условные выражения, циклы, основные функции, списки, словари, рекурсия и работа с файлами. Издание будет полезно студентам, делающим первые шаги в программировании и желающим продвинуться в этой области. Книга может использоваться и как вводный курс по Python, и как практикум, дополняющий учебник программирования на этом языке.
Стивенсон, Б. Python. Сборник упражнений : пособие / Б. Стивенссон ; пер. с англ. А. Ю. Гинько. - Москва : ДМК Пресс, 2021. - 238 с. - ISBN 978-5-97060-916-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2155922 (дата обращения: 18.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Бен Стивенсон

Python 
Сборник упражнений
The Python  
Workbook

A Brief Introduction with Exercises 
and Solutions

Ben Stephenson
Python  
Сборник упражнений

Введение в язык Python  
с задачами и решениями

Бен Стивенсон

Москва, 2021
УДК  004.438Python
ББК  32.973.22
С80

Стивенсон Б.
С80  Python. Сборник упражнений / пер. с англ. А. Ю. Гинько. – М.: ДМК 
Пресс, 2021. – 238 с.: ил. 

ISBN 978-5-97060-916-3

Сборник содержит 186 задач по программированию разной степени сложности. 
Для ряда упражнений изложены решения с подробным разбором фрагментов 
кода и синтаксических конструкций языка Python.
В книге представлен простой и понятный стиль программирования. Чтобы 
решить приведенные здесь задачи, достаточно базовых знаний языка Python. 
По мере изучения материала читатель отрабатывает навык использования таких 
техник, как условные выражения, циклы, основные функции, списки, словари, 
рекурсия и работа с файлами.
Издание будет полезно студентам, делающим первые шаги в программировании 
и желающим продвинуться в этой области. Книга может использоваться 
и как вводный курс по Python, и как практикум, дополняющий учебник программирования 
на этом языке.

УДК 004.438Python
ББК 32.973.22

First published in English under the title The Python Workbook; A Brief Introduction with 
Exercises and Solutions by Ben Stephenson, edition: 2. This edition has been translated and 
published under licence from Springer Nature Switzerland AG. Springer Nature Switzerland 
AG takes no responsibility and shall not be made liable for the accuracy of the translation. 
Russian language edition copyright © 2021 by DMK Press. All rights reserved.

Все права защищены. Любая часть этой книги не может быть воспроизведена 
в какой бы то ни было форме и какими бы то ни было средствами без письменного 
разрешения владельцев авторских прав.

ISBN 978-3-030-18872-6 (англ.)  
©  Springer Nature Switzerland AG, 
2019
ISBN 978-5-97060-916-3 (рус.)  
©  Оформление, издание, перевод, 
ДМК Пресс, 2021
Моей супруге Флоре за 16 потрясающих лет
совместной жизни и долгие годы впереди. 
Моим сыновьям Джонатану и Эндрю,  
которым так не терпелось появиться на свет.
Люблю вас всех!
Содержание

От издательства ................................................................................................ 9
Предисловие .................................................................................................... 10

Часть I. УПРАЖНЕНИЯ .............................................................................. 12

Глава 1. Введение в программирование ....................................... 13

1.1. Хранение и управление значениями .................................................... 14
1.2. Вызов функций ....................................................................................... 15
1.2.1. Чтение ввода .................................................................................... 16
1.2.2. Вывод результата ............................................................................. 17
1.2.3. Импорт дополнительных функций ................................................ 18
1.3. Комментарии .......................................................................................... 19
1.4. Форматирование значений ................................................................... 19
1.5. Работа со строками ................................................................................. 22
1.6. Упражнения ............................................................................................ 24

Глава 2. Принятие решений ................................................................. 36

2.1. Выражения if ........................................................................................... 36
2.2. Выражения if-else ................................................................................... 37
2.3. Выражения if-elif-else ............................................................................. 38
2.4. Выражения if-elif .................................................................................... 40
2.5. Вложенные выражения if ....................................................................... 40
2.6. Булева логика .......................................................................................... 41
2.7. Упражнения ............................................................................................. 42

Глава 3. Повторения ................................................................................. 56

3.1. Циклы while............................................................................................. 56
3.2. Циклы for ................................................................................................. 57
3.3. Вложенные циклы .................................................................................. 59
3.4. Упражнения ............................................................................................ 60

Глава 4. Функции ....................................................................................... 71

4.1. Функции с параметрами ........................................................................ 72
4.2. Переменные в функциях ........................................................................ 75
4.3. Возвращаемые значения ....................................................................... 75
4.4. Импорт функций в другие программы ................................................. 77
4.5. Упражнения ............................................................................................ 78
Содержание  7

Глава 5. Списки ........................................................................................... 89

5.1. Доступ к элементам списка ................................................................... 89
5.2. Циклы и списки ...................................................................................... 90
5.3. Дополнительные операции со списками .............................................. 93
5.3.1. Добавление элементов в список..................................................... 93
5.3.2. Удаление элементов из списка ....................................................... 94
5.3.3. Изменение порядка следования элементов в списке ................... 95
5.3.4. Поиск в списке ................................................................................. 96
5.4. Списки как возвращаемые значения и аргументы .............................. 97
5.5. Упражнения ............................................................................................ 98

Глава 6. Словари ....................................................................................... 112

6.1. Чтение, добавление и изменение словарей........................................ 113
6.2. Удаление пары ключ-значение ........................................................... 114
6.3. Дополнительные операции со словарями .......................................... 114
6.4. Циклы и словари ................................................................................... 115
6.5. Словари как аргументы и возвращаемые значения функций .......... 117
6.6. Упражнения .......................................................................................... 117

Глава 7. Файлы и исключения ........................................................... 125

7.1. Открытие файлов .................................................................................. 126
7.2. Чтение из файла .................................................................................... 126
7.3. Символы конца строки ......................................................................... 128
7.4. Запись в файл ........................................................................................ 130
7.5. Аргументы командной строки ............................................................. 131
7.6. Исключения ........................................................................................... 132
7.7. Упражнения ........................................................................................... 135

Глава 8. Рекурсия ..................................................................................... 145

8.1. Суммирование целых чисел ................................................................ 145
8.2. Числа Фибоначчи .................................................................................. 147
8.3. Подсчет символов ................................................................................. 149
8.4. Упражнения .......................................................................................... 150

Часть II. РЕШЕНИЯ .................................................................................... 159

Глава 9. Введение в программирование ..................................... 160

Глава 10. Принятие решений ............................................................ 169

Глава 11. Повторения ............................................................................ 180

Глава 12. Функции................................................................................... 188
 Содержание

Глава 13. Списки ....................................................................................... 202

Глава 14. Словари .................................................................................... 213

Глава 15. Файлы и исключения ....................................................... 219

Глава 16. Рекурсия .................................................................................. 230

Предметный указатель ............................................................................. 236
От издательства

Отзывы и пожелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете 
об этой книге – что понравилось или, может быть, не понравилось. 
Отзывы важны для нас, чтобы выпускать книги, которые будут для вас 
максимально полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на 
страницу книги и оставив комментарий в разделе «Отзывы и рецензии». 
Также можно послать письмо главному редактору по адресу dmkpress@
gmail.com; при этом укажите название книги в теме письма. 
Если вы являетесь экспертом в какой-либо области и заинтересованы 
в написании новой книги, заполните форму на нашем сайте по адресу 
http://dmkpress.com/authors/publish_book/ или напишите в издательство по 
адресу dmkpress@gmail.com.

Скачивание исходного кода примеров

Скачать файлы с дополнительной информацией для книг издательства 
«ДМК Пресс» можно на сайте www.dmkpress.com на странице с описанием 
соответствующей книги. 

Список опечаток

Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое 
качество наших текстов, ошибки все равно случаются. Если вы найдете 
ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите 
о ней главному редактору по адресу dmkpress@gmail.com. Сделав 
это, вы избавите других читателей от недопонимания и поможете нам 
улучшить последующие издания этой книги. 

Нарушение авторских прав

Пиратство в интернете по-прежнему остается насущной проблемой. Издательства «
ДМК Пресс» и Springer очень серьезно относятся к вопросам 
защиты авторских прав и лицензирования. Если вы столкнетесь в интернете 
с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите 
нам ссылку на интернет-ресурс, чтобы мы могли применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу элект-

ронной почты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря 
которой мы можем предоставлять вам качественные материалы.
Предисловие

Я свято верю, что программирование лучше всего изучать с упором на 
практику. Безусловно, читать книги по программированию и наблюдать 
за тем, как преподаватель строит алгоритмы у доски, бывает очень полезно, 
но не меньшую, если не большую пользу принесет самостоятельное 
решение задач и воплощение изученных концепций программирования 
на практике. С учетом вышесказанного я решил большую часть данной 
книги посвятить практическим упражнениям и их решениям, а основы 
языка Python дать очень кратко и поверхностно.
В книге содержится 186 задач различной степени сложности, охватывающих 
самые разные учебные дисциплины и сферы жизнедеятельности. 
Для их решения вам будет достаточно базовых знаний языка, полученных 
в любом курсе по Python. Каждое из приведенных упражнений призвано 
улучшить общее понимание концепции языка Python и научить вас справляться 
с типичными для программирования проблемами и задачами. Также 
я надеюсь, что подобранные к упражнениям тематики подогреют ваш 
интерес к их решению.
Во второй части книги приведены подробные решения с комментария-

ми примерно к половине задач из книги. Большинство фрагментов кода 
включают в себя краткую аннотацию с описанием использованной техники 
программирования или специфического синтаксиса языка.
Надеюсь, у вас найдется время сравнить свои решения задач с моими, 
даже если в процессе вы не испытывали никаких трудностей. Это может 
помочь вам выявить недостатки в своих программах или узнать о новых 
для себя приемах в программировании, с помощью которых можно было 
бы решить задачу проще. Иногда вы будете видеть, что ваш вариант решения 
задачи оказался более быстрым и/или легким по сравнению с моим. 
Кроме того, если вы застрянете на каком-то из заданий, беглого взгляда 
в ответ может быть достаточно, чтобы самостоятельно, без посторонней 
помощи завершить его решение. При написании кода я старался использовать 
максимально академичный стиль программирования, включая 
многословные комментарии и хорошо подобранные имена переменных. 
Советую вам придерживаться таких же правил – пусть ваш код будет не 
только правильным, но и простым для понимания, а также легкодоступным 
для будущих исправлений и доработок.
Упражнения, для которых в книге предложено решение, будут помечены 
словом (Решено). Также для каждой задачи будет указано количество 
строк в решении. Разумеется, вам не нужно стремиться к тому, чтобы 
ваш код состоял ровно из такого же количества строк, но эта информация 
Предисловие  11

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

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

Я бы хотел сердечно поблагодарить доктора Тома Дженкинса (Tom Jen-
kyns) за проверку материалов этой книги в процессе ее написания. Его 
многочисленные советы и комментарии позволили внести важные правки, 
что положительно сказалось на качестве книги.
Бен Стивенсон
Калгари, Канада
Март, 2019
Часть I

УПРАЖНЕНИЯ
Глава 1

Введение 
в программирование

Компьютеры помогают нам в выполнении самых разных задач, будь то 
чтение новостей, просмотр видеороликов, совершение покупок, заказ 
услуг, решение сложных математических уравнений, общение с семьей 
и друзьями и многое другое. Все эти задачи требуют от человека ввода 
исходной информации. Это может быть адрес видеосюжета в сети или название 
книги для поиска. В ответ компьютер генерирует ссылку на книгу, 
проигрывает музыку или показывает на экране текст либо изображение.
Но как компьютер узнает, какую именно вводную информацию затребовать? 
Откуда он знает, какие действия выполнять в ответ? Какой вывод 
он должен сгенерировать, и в каком виде его необходимо представить 
пользователю? Ответ на все эти вопросы прост: пользователь предоставляет 
компьютеру инструкции, согласно которым он действует.
Алгоритм представляет собой конечный набор эффективных шагов для 
решения той или иной задачи. Шаг можно считать эффективным, если он 
не содержит в себе двусмысленности и при этом может быть выполнен. 
Количество шагов должно быть конечным, и должна быть возможность их 
подсчитать. Рецепты блюд, инструкции для сборки мебели или игрушек 
и последовательность цифр для открытия кодового замка – все это примеры 
алгоритмов, с которыми мы сталкиваемся ежедневно в обычной 
жизни.
Алгоритмы могут быть гибкими и приспосабливаться к конкретным 
задачам, под которые они разработаны. Слова, числа, линии, стрелки, 
изображения и другие символы могут использоваться для обозначения 
шагов, которые должны быть выполнены. И хотя формы алгоритмов могут 
сильно отличаться, все они включают в себя шаги, которые нужно пройти 
один за другим для успешного завершения задачи.
Компьютерная программа представляет собой последовательность 
инструкций, контролирующую работу компьютера. В инструкциях четко 
прописано, когда необходимо выполнить чтение данных или вывод ре-
Доступ онлайн
699 ₽
В корзину