|
Содержание
— Мне нужен калькулятор!
— Бендер, ты сам калькулятор. — Мне нужен хороший калькулятор! [Мультсериал "Futurama", серия "The Cyber House Rules"] Что такое Консоль PythonКонсоль Python эмулирует интерактивный интерпретатор языка Python в рамках NVDA. Это средство разработки, которое полезно для отладки и обзора работающего приложения Windows для его максимально корректного озвучивания. Запустить консоль можно двумя способами:
Команды вводятся с клавиатуры и состоят из одной строки. При помощи вертикальных курсорных стрелок можно перемещаться по истории введённых за текущую сессию команд. Для активизации введённой команды, следует навести на неё фокус и нажать клавишу Enter. Сразу после этого, NVDA произнесёт результат операции. Для переключения между режимами ввода и чтения окна консоли служит клавиша F6. Например, если вам надо просмотреть предыдущие команды рабочей сессии, то следует нажатием F6 перевести консоль в режим чтения и, передвигаясь курсорными стрелками, изучить текст в окне, где на отдельных строках будут написаны команды, а на следующей строке результаты их выполнения. Разумеется, следует помнить, что консоль Python - это в первую очередь всё-таки инструмент для разработчиков и отладчиков NVDA. Для получения подробной информации о её использовании именно для этих целий, обратитесь к статье в Wiki на официальном сайте NVDA - >PythonConsole, предназначенной для разработчиков. В этой же статье мы рассмотрим возможность использования консоли Python для математических расчётов в качестве обычного калькулятора, что не требует от пользователя особых знаний по программированию. Арифметика и элементарная математикаНачнём с самого начала, то есть с азов математики. Рассмотрим принципы простейших расчётов при помощи Консоли Python, а также некоторые их особенности. Основные арифметические действияДля обозначения четырёх основных арифметических действия в Python используются стандартные компьютерные обозначения:
Запустим Консоль Python (NVDA+CTRL+Z) и в открывшемся окне введём выражение: Обратите внимание, что здесь 2+2*2 = 6, а не 8, как было бы, если бы мы последовательно вводили эти команды на обычном калькуляторе. То есть Python анализирует всё выражение и соблюдает порядок действий. Если нам понадобилось снова узнать результат нашего первого выражения, то можно отыскать его вертикальными стрелками и нажать на нём Enter. В этом случае операция его расчёта будет повторена и запишется в историю внизу списка как следующее выполненное действие. Однако можно поступить проще: нажать клавишу F6 и перейти в режим просмотра. Здесь вертикальными стрелками найти строку, содержащую интересующее выражение, и строкой ниже будет результат его расчёта. Для обратного перехода в режим ввода команд надо снова нажать клавишу F6. Порядок действий и элементарная математикаКак уже было отмечено, Python соблюдает правильный порядок математических действий. Вот полный их список в порядке убывания приоритетности выполнения:
Четыре основных арифметических действия были рассмотрены ранее, теперь обратимся к скобкам и возведению в степень. Для заключения части выражения в скобки используется их обычный круглый вариант (Shift+9/Shift+0). А вот для задания степени в Python используется обозначение, отличное от стандартного ("^x" (крышка + показатель степени)). Чтобы возвести число в степень, следует набрать "**x" (звёздочка, звёздочка, показатель степени). Например, для расчёта куба произведения четырёх и суммы двух и пяти, следует набрать следующее выражение: Проблема целочисленного деленияКак говорил лис в сказки Антуана де Сент-Экзюпери "Маленький принц": "Нет в мире совершенства". Python также не является исключением из этого правила. В нём есть некоторые нюансы, которые, при недостаточных знаниях этих особенностей языка, могут привести к ошибкам в математических расчётах. Чтобы в этом убедиться, проведём небольшой эксперимент. Для этого попробуем рассчитать выражение: Консоль Python выдаёт нам ответ 1, хотя даже не профессиональному математику известно, что 9/5 = 1,8. От чего же так происходит? Суть проблемы заключается в том, что во многих языках программирования, в том числе и в Python, существует два типа деления "деление с плавающей запятой" и "целочисленное деление". Деление с плавающей запятой - это именно то, чего мы ждём математически: 9/5 = 1,8. Целочисленное же деление предназначено только для работы с целыми числами, поэтому оно округляет результат каждой операции до целых в меньшую сторону, просто отбрасывая все знаки после дробной запятой или точки. То есть целочисленное деление рассматривает, сколько целых делителей может поместиться в делимом. В данной статье мы не будем углубляться в особенности целочисленных объектов языка Python, ограничимся лишь описанием способа, при помощи которого мы решим проблему целочисленного деления буквально двумя знаками. Существует несколько способов избежать подобной ошибки, но мы рассмотрим самый простой, а именно сделаем так: Обратите внимание, что в Python для отделения дробной части используется не запятая, а точка, например, 1.5**2 = 2.25. Стандартные математические функцииВ математических формулах встречаются такие функции как sin (синус), cos (косинус), tan (тангенс), log (десятичный логарифм) и другие. В серьёзных калькуляторах для них существуют специальные кнопки. Но Python ничем не хуже, в нём также встроены все эти функции и их можно использовать при расчётах. Квадратный кореньРазумеется, извлечение корней с математической точки зрение - это то же самое, что и возведение в степень. Так что извлечь квадратный корень из числа 4 мы могли бы и так: В Python, функция, извлекающая квадратный корень и множество других математических функций доступны в модуле, который называется "math". Чтобы получить возможность ими пользоваться, следует импортировать этот модуль в программу, написав перед тем местом, где мы будем использовать функции, команду "sqrt(x)" - это как раз и есть функция квадратного корня из числа x, а запись "math." говорит лишь о том, что последующая функция относится к одноимённому модулю. Обратите внимание, что Консоль Python выдаёт ответ - 2.0, а не просто 2. То есть функция sqrt считает нам с учётом плавающей запятой, что не может не радовать в виду проблем, которые может повлечь за собой целочисленное деление. Альтернативные методы импорта модулейКак писал Антон Павлович Чехов: "Краткость - сестра таланта". С этим утверждением можно спорить или соглашаться, но несомненен тот факт, что конструкция "math.function()" довольно громостка, к тому же, если нам приходится за одну рабочую сессию использовать функции по несколько раз. Для решения данной проблемы существует два альтернативных способа указания модуля, к которому относится используемая функция.
Справка по модулю и функциямДля того, чтобы просмотреть все функции, содержащиеся в модуле, следует сначала его импортировать, а потом набрать команду "dir(math)". То есть это будет выглядеть так: Для того, чтобы узнать о назначении каждой функции, достаточно ввести команду "help(math.имя_функции)", например: Вся информация выводится на английском языке. ЗаключениеКак писал Александр Сергеевич Пушкин в своей поэме "Евгений Онегин": Чуть более продвинутый в математическом отношении индивид вспомнит, что существует и второй x, который равен -sqrt(2). Однако уравнение типа Если вы дочитали до этого места, то свою главную задачу эта статья уже выполнила, так как вы, скорее всего, поняли, что Консоль Python в NVDA - это непочатый край для людей, регулярно имеющих дело с математикой, а как говорил Иммануил Кант: "В каждой естественной науке заключено столько истины, сколько в ней есть математики". |
||||||||
Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения. Идея и реализация: © Владимир Довыденков и Анатолий Камынин, 2004-2024 |
Социальные сети