Введение в Python
- Python — Обзор
- Основы синтаксиса Python
- Операторы в Python
- Типы данных в Python
- Условные конструкторы в Python
- Циклы в Python
- Функции в Python
- Функциональное программирование в Python
- ООП в Python
- Модули в Python
- Работа с файлами в Python
- Обработка исключительных ситуаций в Python
Python это высокоуровневый, интерпретируемый, интерактивный и объектно-ориентированный скриптовой язык программирования. Python был разработан как «легкочитаемый» язык, часто использующий в качестве ключевых слов слова английского языка.
- Python является интерпретируемым: исходный код на Python не компилируется в машинный код, а выполняется непосредственно с помощью специальной программы-интерпретатора.
- Python это интерактивный язык: Это означает, что вы можете писать код прямо в оболочке интерпретатора и вводить новые команды по мере выполнения предыдущих.
- Python является объектно-ориентированым языком программирования. Python поддерживает принципы ООП, которые подразумевают инкапсуляцию кода в особые структуры, именуемые объектами.
История языка программирования Python
Python начал разрабатываться в конце восьмидесятых годов сотрудником Голландского Национального Исследовательского Института Математики и Информатики Гвидо ван Россумом.
Программа, определяющая корни квадратного уравнения. Язык программирования Python.
Python вобрал в себя черты многих популярных в то время языков программирования: Algol-68, C, C++, Modula-3 ABC, SmallTalk, и это далеко не полный перечень.
Версия 1.0 появилась в 1994 году, 2.0 в 2000-м, а 3.0 в 2008-м году. На данный момент активно развиваются вторая и третья версии этого языка. Поддержка Python’a осуществляется командой разработчиков все того же института, при этом за ван Россумом осталось право решающего голоса в вопросах развития языка.
Особенности Python:
- Легкий для обучения: У Python’a относительно мало ключевых слов, простая структура и четко определенных синтаксис. Благодаря этому научиться основам языка можно за достаточно короткое время.
- Легко читаемый: Блоки кода в Python выделяются при помощи отступов, что совместно с ключевыми словами, взятыми из английского языка значительно облегчают чтение кода.
- Легкий в обслуживании: Одной из причин широкой популярности Python’a является простота обслуживания кода написанного на этом языке.
- Широкая стандартная библиотека: Наличие широкой кросс-платформенной библиотеки является еще одной сильной стороной этого языка программирования.
- Наличие интерактивного режима: позволяет «на лету» тестировать нужные участки кода
- Портативность: Python без проблем запускается на разных платформах, при этом сохраняет одинаковый интерфейс, независимо от того на каком компьютере вы работаете.
- Расширяемость: при необходимости в Python можно внедрять низкоуровневые модули написанные на иных языках программирования для наиболее гибкого решения поставленных задач.
- Работа с базами данных: в стандартной библиотеке Python можно найти модули для работы с большинством коммерческих баз данных.
- Создание GUI (Графического интерфейса пользователя): на Python возможно создание GUI приложений, которые будут работать независимо от типа вашей операционной системы.
- Пятнашки на Python
- Паттерны проектирования в Python
- Множествeнное наследование в Python
- Абстрактные классы в Python
- Сапер на Python
Источник: pythonicway.com
34 Задача: Найти корни квадратного уравнения при помощи Python
Как написать программу на python квадратное уравнение
Обратим внимание, что для данной программы коэффициент a не должен быть равен нулю. Иначе в первой ветке условного оператора будет происходить попытка деления на 0.
Если a = 0 , то квадратное уравнение превращается в линейное, которое решается иным способом. Оно всегда имеет один корень.
Квадратное уравнение
Программа, позволяющая находить корни квадратного уравнения, – это один из примеров простых программ, которые можно написать на Python 3. Она хорошо подойдет для начинающих изучать этот язык программирования.
Постановка задачи
Уравнение, которое будем решать, выглядит следующим образом: a·x²+b·x+c=0. Пользователю предлагается ввести значения a, b и с в терминале. После этого программа посчитает дискриминант. На его основе найдем решения уравнения – значения x, для которых будет выполняться равенство.
Вот пример работы программы, которая будет написана.
Программа
Для решения квадратных уравнений на Python 3 напишем код, приведенный ниже. Разберем некоторые моменты, которые мы использовали в этой простой программе:
- print — эта функция выводит на экран информацию.
- input — выводит информацию и предлагает пользователю ввести данные.
- b**2 — это возведение в степень, в данном случае переменная b возводится в квадрат.
- str — эта функция приводит данные к строковому виду.
- if-elif-else — это условные операторы в языке Python. Исходя из значения discriminant мы определяем количество корней квадратного уравнения.
- discriminant ** 0.5 — с помощью такого способа извлекаем квадратный корень. В Python есть несколько способов извлечения корней, например, с помощью функции sqrt из библиотеки math. Про способы извлечения корней в Python описано в отдельной статье.
Запустим программу и введём нужные коэффициенты.
Все посчитано, найдены два корня, которые будут являться решением квадратного уравнения.
Дополнительно
Хотелось бы уделить внимание ещё одному моменту. Если дискриминант отрицательный, то действительных корней нет. Но будут комплексные корни. Если мы хотим их обрабатывать, то следует изменить конструкцию условных операторов следующим образом:
Тогда пример решения уравнения будет выглядеть следующим образом:
Как видим, получили два комплексных корня.
Этот простой код написанный на Python 3 можно для обучения программированию немного усложнить:
- Предлагать запрос в конце программы «Решить ещё одно уравнение (y/n): ». И если пользователь введет «y», то заново запросить коэффициенты. Это нужно делать в цикле. Подробнее о циклах в Python можно прочитать здесь.
- Сделать проверку корректности ввода. Ведь пользователь вместо числа может ввести какую-нибудь строку, которая не будет корректно обработана. Про проверку на число описано в отдельной статье.
Введение в Python
Поиск
Новое на сайте
Графический калькулятор квадратных уравнений на Python и Tkinter
Рассмотрим пример создания графического интерфейса (GUI) на Python. В качестве «жертвы» напишем простенькую программу — решатель квадратных уравнений. Наше задание мы разобъем на несколько частей.
Часть первая: функция решения квадратного уравнения.
Напомним, что квадратным является уравнение вида:
Есть несколько способов решить квадратное уравнение, мы выберем решение через дискриминант.
Используя эту формулу мы можем вывести решение. Если дискриминант больше или равен нулю, то корни уравнения высчитываются по формуле:
Если же дискриминант меньше нуля, то уравнение не имеет решений.
Превратим данные формулы в код:
Чтобы все работало не забудьте импортировать функцию sqrt из модуля math.
Поскольку мы будем выводить результат в специально созданном виджете — мы сразу же вставляем полученный ответ в отформатированную строку и возвращаем ее.
Теперь пора переходить к созданию графической оболочки для нашего приложения.
Часть вторая: создаем GUI для программы
Для простоты будем создавать GUI встроенными средствами Python, поэтому импортируем все из библиотеки Tkinter:
В Python версии 3.х название модуля следует писать с маленькой буквы — tkinter.
Далее создаем само окно и размещаем на нем необходимые виджеты:
Если вы в точности повторили указанный код, то после запуска скрипта у вас получится примерно следующее окно:
Отлично, программа работает. Осталось объяснить Python как связать эти две части.
Часть третья: объединяем все воедино
Задача перед нами стоит следующая — написать функцию, которая будет брать числа из полей для ввода, передавать их функции решения квадратного уравнения и выводить результат в поле для вывода. Конечно, все это можно реализовать в одной функции, но лучше разделить на несколько:
Функция вставки информации:
Функция inserter предельно проста: очищает поле для ввода и вставляет туда переданный ей аргумент value.
Напишем функцию обработки введенной информации. Назовем ее handler:
В зависимости от данных введенных в поля для ввода передает функции inserter либо результат решения уравнения, либо сообщение о неверно введенных данных.
Чтобы все работало, следует изменить строку создания виджета Button следующим образом:
Теперь можно спокойно пользоваться нашей программой:
Дискриминант больше нуля | Дискриминант равен нулю |
Дискриминант меньше нуля. Решений нет | Введены не все аргументы |
Часть четвертая: необязательная
Можно добавить немного удобства для нашей программы. Проблема в том, что каждый раз вводя новые значения нам приходится удалять старые, что не очень комфортно. Напишем функцию, которая будет очищать поле для ввода после клика по нему.
Таким образом мы очищаем виджет, вызвавший данную функцию. Чтобы все работало, добавьте следующие строки после создания виджетов, но до размещения. Например, после строки a = Entry(. , но до строки a.grid(.
Готово. Программа работает, Вы великолепны!
Исходный код калькулятора квадратных уравнений с GUI на GitHub
Источник: al-shell.ru