Файл: Сборник упражнений.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.03.2024

Просмотров: 150

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Интернет-магазин:
www.dmkpress.com
Оптовая продажа:
КТК «Галактика» books@alians-kniga.ru
www.дмк.рф
Python.
Сборник
упражнений
9 785970 609163
ISBN 978-5-97060-916-3
В книге содержится 186 задач по программированию различной степени сложности. При написании кода автор использует максимально академич- ный стиль, упрощающий для читателя знакомство с языком Python. Упражне- ния, для которых в книге предложено решение, снабжены пометкой «Реше- но»; для каждой задачи указано количество строк в решении.
Задачи в каждой главе сгруппированы по темам:
• введение в программирование;
• принятие решений;
• списки;
• повторения;
• функции;
• списки;
• словари;
• файлы и исключения;
• рекурсия.
Издание будет полезно начинающим программистам, которые обладают базовыми знаниями языка Python. Те, кто изучает этот язык с нуля, могут ис- пользовать книгу как дополнение к учебнику.
Бен Стивенсон
Введение в язык Python с задачами и решениями
P
yt
h
o
n
.
С
б
о
р
н
и
к у
п
р
а
ж
н
е
н
и
й

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


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