книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Скачать 2.24 Mb.
|
БлагодарностиЯ бы хотел сердечно поблагодарить доктора Тома Дженкинса (Tom Jenkyns) за проверку материалов этой книги в процессе ее написания. Его многочисленные советы и комментарии позволили внести важные правки, что положительно сказалось на качестве книги. Бен Стивенсон Калгари, Канада Март, 2019 Часть I УПРАЖНЕНИЯГлава 1 Введение в программированиеКомпьютеры помогают нам в выполнении самых разных задач, будь то чтение новостей, просмотр видеороликов, совершение покупок, заказ услуг, решение сложных математических уравнений, общение с семьей и друзьями и многое другое. Все эти задачи требуют от человека ввода исходной информации. Это может быть адрес видеосюжета в сети или название книги для поиска. В ответ компьютер генерирует ссылку на книгу, проигрывает музыку или показывает на экране текст либо изображение. Но как компьютер узнает, какую именно вводную информацию затребовать? Откуда он знает, какие действия выполнять в ответ? Какой вывод он должен сгенерировать, и в каком виде его необходимо представить пользователю? Ответ на все эти вопросы прост: пользователь предоставляет компьютеру инструкции, согласно которым он действует. Алгоритм представляет собой конечный набор эффективных шагов для решения той или иной задачи. Шаг можно считать эффективным, если он не содержит в себе двусмысленности и при этом может быть выполнен. Количество шагов должно быть конечным, и должна быть возможность их подсчитать. Рецепты блюд, инструкции для сборки мебели или игрушек и последовательность цифр для открытия кодового замка – все это примеры алгоритмов, с которыми мы сталкиваемся ежедневно в обычной жизни. Алгоритмы могут быть гибкими и приспосабливаться к конкретным задачам, под которые они разработаны. Слова, числа, линии, стрелки, изображения и другие символы могут использоваться для обозначения шагов, которые должны быть выполнены. И хотя формы алгоритмов могут сильно отличаться, все они включают в себя шаги, которые нужно пройти один за другим для успешного завершения задачи. Компьютерная программа представляет собой последовательность инструкций, контролирующую работу компьютера. В инструкциях четко прописано, когда необходимо выполнить чтение данных или вывод ре- зультата и как манипулировать значениями для получения ожидаемого результата. Любой алгоритм должен быть преобразован в компьютерную программу, чтобы компьютер смог приступить к его выполнению. Именно процесс перевода алгоритма в программу и называется программированием, а человек, осуществляющий это преобразование, – программистом. Компьютерные программы пишут на языках программирования, имеющих определенные правила синтаксиса, которые необходимо строго соблюдать. Если этого не делать, компьютер будет выдавать ошибки, вместо того чтобы следовать инструкциям. За долгое время было создано великое множество языков программирования, каждый из которых обладает свои ми достоинствами и недостатками. Одними из наиболее популярных и востребованных сегодня являются языки Java, C++, JavaScript, PHP, C# и Python. Несмотря на различия, все эти языки позволяют программисту контролировать поведение компьютера. В данной книге мы говорим о языке программирования Python, поскольку он является одним из наиболее простых для освоения с нуля. Кроме того, этот язык может использоваться для решения самых разнообразных задач. В первой главе мы поговорим об операциях, отвечающих за ввод/вывод информации и произведение вычислений. В следующих главах затронем конструкции языка, применимые в других областях программирования. 1.1. Хранение и управление значениямиПеременной (variable) называется именованная область памяти, хранящая значение. В Python имя переменной должно начинаться с буквы или символа подчеркивания, после чего могут следовать любые сочетания букв, цифр и символов подчеркивания. При этом имена переменных являются регистрозависимыми, то есть имена count, Count и COUNT будут адресовать разные переменные. Создание переменной происходит в момент выполнения операции присваивания значения. При этом имя переменной, которой мы присваиваем значение, должно располагаться слева от знака присваивания (=), а само значение – справа. Например, в следующем выражении будет создана переменная x, которой будет присвоено значение 5: x = 5 Отметим, что справа от знака присваивания может находиться не только простое значение, но и выражение любой степени сложности – с использованием скобок, математических операторов, чисел и переменных, созданных на более ранних этапах. Самыми распространенными математическими операторами, представленными в языке Python, являются сложение (+), вычитание (−), умножение (*), деление (/) и возведение в степень (**). Также к простым операторам относятся деление без остатка (//) и вычисление остатка от деления (%). Первый возвращает целую часть от полученного в результате деления частного, а второй – остаток. В следующем примере переменной y присваивается результат возведения переменной x в квадрат, к которому прибавлена единица: y = 1 + x ** 2 В Python соблюдается строгий порядок выполнения математических операций. Поскольку переменной x ранее уже было присвоено значение 5, а оператор возведения в степень имеет более высокий приоритет по сравнению с оператором сложения, переменная y получит значение 26. Одна и та же переменная может находиться как слева, так и справа от оператора присваивания, как показано ниже: y = y – 6 Хотя изначально может показаться, что это выражение не имеет смысла, фактически в Python оно вычисляется так же точно, как и любое другое. Сначала будет вычислено значение выражения, стоящего справа от знака равенства, а затем оно будет присвоено переменной, указанной слева. В нашем конкретном случае на первом шаге значение переменной y, равное 26, будет уменьшено на 6, в результате чего будет получено значение 20. Оно и будет записано в ту же переменную y, заменив собой прежнее значение 26. После этого обращение к переменной y будет возвращать значение 20 – до тех пор, пока ей не будет присвоено новое значение. |