Источник: Джейсон Бриггс, PYTHON ДЛЯ ДЕТЕЙ, САМОУЧИТЕЛЬ ПО ПРОГРАММИРОВАНИЮ. Скачать ЗДЕСЬ.
Заходите на мой сайт msofficewindows
Здравствуйте! Сегодня мы продолжаем работать с Python. В прошлой статье мы говорили, как установить Python и знакомились с ним. А сейчас мы поговорим про вычисления в программе. Если статья про скачивание программы наберёт 3 лайка, то скоро я перескачу вперёд и выложу очень интересную статью... Но это секрет! Продолжим.
Итак, вы установили Python и знаете, как запускать его командную оболочку, а значит, пора использовать его по назначению. Мы начнём с простых математических расчётов, а затем перейдём в важной части языка — переменным. Переменные — это удобный способ хранения данных в программе, и они пригодятся нам для решения самый разных задач.
Вычисления в Python.
Если нужно перемножить два числа, к примеру узнать, сколько будет 8 × 3,57, мы обычно пользуемся калькулятором либо берём ручку и умножаем в столбик на листе бумаги. А что если использовать для подсчётов оболочку Python? Давайте попробуем.
Запустите оболочку, дважды кликнуть по значку IDLE на рабочем столе, либо, если у вас система Ubuntu, кликнув по значку IDLE в меню Applications. Затем после значка >>> введите выражение и нажмите Enter:
Обратите внимание, что при записи числа 3,57 используется не запятая, а точка. Кроме того, в Python числа перемножаются с помощью звёздочки (*), а не знака умножения (×).
Теперь рассмотрим более полезную задачу.
Представьте, что вы рыли яму и случайно нашли кошелёк с 20 золотыми монетами. На следующий день вы тихонько залезли в подвал, где стоит изобретение вашего дедушки — работающий на паровом ходу механизм для копирования предметов, и, на ваше счастье, в него удалось запихнуть все 20 монет. Раздался свист, потом щелчок, и устройство выдало ещё 10 новеньких монеток.
Сколько монет вы накопите, если будете проделывать эту операцию каждый день в течении года? На бумаге эти расчёты выглядят примерно так:
10 × 365 = 3650
20 + 3650 = 3670
Что ж, ничего сложного, осталось лишь выяснить, как посчитать то же в оболочке Python. Первым делом умножаем 10 монет на 365 дней, получится 3650. Затем добавим 20 монет и выйдет 3670.
Но что если о вашем богатстве узнает пронырливая ворона? Предположим, она будет каждую неделю залетать в окно и красть по три монетки.
Сколько у вас будет монет через год? В оболочке Python эти расчёты будут выглядеть так:
Сперва умножаем 3 монеты на 52 недели в году, получаем 156. Затем вычитаем это значение из общего количества монет. Выходит, через год у вас останется 3514 монет.
Получилась очень простая программа. Изучая эту рубрику статей дальше, вы узнаете, как писать более сложные и полезные программы.
Операторы в Python.
В оболочке Python можно умножать, складывать, вычитать и делить числа, а также совершать некоторые другие операции, о которых мы узнаем позже. Символы, с помощью которых выполняются математические действия в языке Python, называются операторами. Основные математические операторы перечислены в таблице ниже.
Прямой слеш (/) обозначает деление, этот символ похож на линию между числителем и знаменателем дроби. Например, у вас 100 пиратов и 20 больших бочек, и вы хотите рассчитать, сколько пиратов можно спрятать в каждой бочке. Для этого следует разделить 100 пиратов на 20 бочек, введя в оболочке 100 / 20. И запомните — прямым слешем называют черту, верх которой наклонён вправо.
Порядок выполнения операций.
Операции — это любые действия, которые совершаются с помощью операторов. Математические операции выполняются по очереди в зависимости от их приоритета (если не задать другую очерёдность с помощью скобок). Умножение и деление имеют более высокий приоритет, чем сложение и вычитание, и это значит, что они будут выполняться первыми. Иначе говоря, при вычислении математического выражения Python сначала умножит и разделит числа, а затем перейдёт к сложению и вычитанию.
Например, в этом выражении сперва будут перемножены числа 30 и 20, а затем к их произведению будет прибавлено число 5.
По сути это выражение означает "умножить 30 на 20 и прибавить к результату 5". Получается 605. Однако мы можем изменить порядок операций, заключив первые два числа в скобки. Вот так:
В результате получилось 700, а не 605, поскольку Python выполняет операции в скобках прежде, чем операции вне скобок. Другими словами, это выражение означает "прибавить 5 к 30 и умножить результат на 20.
Скобки могут быть вложенными, то есть внутри скобок могут быть ещё одни скобки:
В этом примере Python сперва вычислит выражение во внутренних скобках, затем во внешних и в самом конце выполнит стоящую за скобками операцию деления.
Иначе говоря, это выражение означает «прибавить 5 к 30, затем умножить результат на 20, потом разделить результат на 10». Вот что при этом происходит:
- сложение 5 и 30 даёт 35;
- умножение 35 на 20 даёт 700;
- деление 700 на 10 даёт окончательный результат — 70.
Если бы мы не использовали скобки, результат вышел бы другим:
В этом случае сперва 30 умножается на 20 (получается 600), затем 600 делится на 10 (выходит 60) и, наконец, к 60 прибавляется 5, что дает в итоге 65.
Запомните, что умножение и деление всегда выполняются прежде, чем сложение и вычитание, если не менять порядок вычислений с помощью скобок.
Переменные как ярлыки для данных
В программировании слово переменная обозначает именованное место для хранения данных, например чисел, текста, списков с числами или символами и так далее. Также переменную можно рассматривать как ярлык, которым помечены некие данные.
Например, чтобы создать переменную с именем fred, нужно указать
имя, поставить знак «равно» (=) и ввести соответствующие данные. Давайте создадим переменную fred (Фред), указав, что ей соответствует значение 100 (однако из этого не следует, что другая переменная не может иметь такое же значение):
Чтобы напечатать значение нашей переменной, введите в оболочке Python команду print и следом за ней — имя переменной в скобках. Вот так:
Можно изменить значение переменной fred — сделать так, чтобы ей соответствовали другие данные. Например, вот как заменить значение fred числом 200:
В первой строке говорится, что переменной fred теперь соответствует
число 200. Во второй строке мы запрашиваем значение fred, чтобы убедиться, что оно поменялось. Последней строкой Python печатает ответ.
Можно использовать несколько переменных для одного и того же значения:
В этом примере знак «равно» между именами john (Джон) и fred говорит о том, что переменной john соответствует значение переменной fred. Конечно, fred — не самое удачное имя переменной, поскольку оно не поясняет, для чего эта переменная используется. Лучше назовем пе-
ременную не fred, а, допустим, number_of_coins (количество монет):
Теперь понятно, что речь идет о двухстах монетах.
Имена переменных могут состоять из латинских букв, цифр и знака
подчеркивания (_), однако начинаться с цифры они не могут. В остальном допустимо использовать любые имена, которые могут состоять как из отдельных букв (например, a), таки из целых предложений (пробелы в именах недопустимы, но слова можно разделять знаками подчеркивания). Для небольших программ часто удобны короткие имена, но в целом желательно, чтобы имя переменной отражало смысл, который вы вкладываете в её использование.
Теперь вы знаете, как создавать переменные. Давайте посмотрим, что с ними можно делать.
Использование переменных
Помните, как мы вычисляли, сколько монет накопится за год, если каждый день создавать новые монеты с помощью изобретения вашего дедушки? Итак, вот на чем мы остановились:
Все это можно записать одной строкой кода:
А что если заменить в этом выражении числа переменными? Введите:
Мы создали три переменные: found_coins, magic_coins
и stolen_coins.
Теперь можно записать наше выражение так:
Как видите, результат остался прежним. А зачем все это? Ради особой магии переменных. Представьте, что вы поставили у окошка пугало и поэтому осторожная ворона крадет по две, а не по три монеты. Если использовать в расчетах переменную, достаточно поменять ее значение на другое число, чтобы оно использовалось везде, где эта переменная фигурирует. То есть мы можем поменять значение stolen_coins, введя:
А затем скопировать и снова вставить наше выражение, чтобы пересчитать ответ. Вот так:
1. Выделите текст, который нужно скопировать. Для этого клик-
ните по нему и, не отпуская кнопку мышки, перетащите область выделения от начала строки до ее конца, как показано на рисунке:
2. Нажав и удерживая клавишу Ctrl (или, если вы используете
Mac OS, клавишу command), нажмите C, чтобы скопировать выделенный
текст (далее я буду называть это действие Ctrl-C).
3. Кликните по строке с приглашением (следующей после stolen_coins = 2).
4. Нажав и удерживая Ctrl, нажмите V, чтобы вставить скопированный ранее текст (далее я буду называть это действие Ctrl-V).
5. Нажмите Enter, чтобы заново вычислить результат:
Не правда ли, так гораздо проще, чем заново вводить все выражение?
Можете поменять значения других переменных, а потом опять скопировать (Ctrl-C) и вставить (Ctrl-V) выражение, чтобы увидеть результат изменений. Предположим, вы обнаружили, что если стукнуть по дедушкиному изобретению, из него вылетает на 3 монеты больше. Поступая так каждый раз, через год вы получите 4661 монету:
Конечно, в таком простом выражении от переменных не очень много
толку. До настоящей пользы мы еще не дошли. Пока просто запомните,
что переменные — это способ присваивать именам значения для их дальнейшего использования.
Что мы узнали
В этой главе мы разобрались, как составлять простые выражения с по-
мощью операторов языка Python, использовать скобки для изменения
порядка операций (очередности, в которой Python вычисляет части вы-
ражений), научились создавать переменные, присваивать им значения
и использовать в расчетах.