Главная страница
Навигация по странице:

  • Ben Stephenson Python Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон

  • Содержание От издательства ................................................................................................ 9Предисловие

  • Часть I. УПРАЖНЕНИЯ .............................................................................. 12Глава 1. Введение в программирование

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

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

  • Часть II. РЕШЕНИЯ .................................................................................... 159Глава 9. Введение в программирование

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

  • Глава 14. Словари .................................................................................... 213Глава 15. Файлы и исключения

  • От издательства Отзывы и пожелания

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

  • Часть I УПРАЖНЕНИЯ Глава 1 Введение в программирование

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


    Скачать 1.68 Mb.
    НазваниеСборник упражнений
    Дата18.02.2023
    Размер1.68 Mb.
    Формат файлаpdf
    Имя файлаСборник.pdf
    ТипСборник
    #942935
    страница1 из 14
      1   2   3   4   5   6   7   8   9   ...   14

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

    Предисловие

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

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

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

      1   2   3   4   5   6   7   8   9   ...   14


    написать администратору сайта