Программирование на PYTHON в среде IDLE
Покупка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
Новосибирский государственный технический университет
Год издания: 2020
Кол-во страниц: 195
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7782-4215-9
Артикул: 778163.01.99
Язык программирования общего назначения Python широко применяется в настоящее время в различных областях. Учебное пособие предназначено для студентов, обучающихся по направлению «Электроэнергетика и электротехника». Может быть полезно студентам для подготовки курсовых и квалификационных работ, а также магистрантам и аспирантам при проведении научных исследований. Практическая часть ориентирована на выполнение наиболее часто встречающихся математических задач.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Л.Г. ШЕВЧЕНКО, Т.В. ДРУЖИНИНА ПРОГРАММИРОВАНИЕ НА PYTHON В СРЕДЕ IDLE Утверждено Редакционно-издательским советом университета в качестве учебного пособия НОВОСИБИРСК 2020
УДК 004.438(075.8) Ш 379 Рецензенты: Д.М. Топорков, канд. техн. наук, доцент М.Е. Вильбергер, канд. техн. наук, доцент Работа подготовлена кафедрой электромеханики для студентов ФМА направления 13.03.02 «Электроэнергетика и электротехника» Шевченко Л.Г. Ш 379 Программирование на PYTHON в среде IDLE: учебное пособие / Л.Г. Шевченко, Т.В. Дружинина. – Новосибирск: Изд-во НГТУ, 2020. – 195 с. ISBN 978-5-7782-4215-9 Язык программирования общего назначения Python широко применяется в настоящее время в различных областях. Учебное пособие предназначено для студентов, обучающихся по направлению «Электроэнергетика и электротехника». Может быть полезно студентам для подготовки курсовых и квалификационных работ, а также магистрантам и аспирантам при проведении научных исследований. Практическая часть ориентирована на выполнение наиболее часто встречающихся математических задач. УДК 004.438(075.8) ISBN 978-5-7782-4215-9 © Шевченко Л.Г., Дружинина Т.В., 2020 © Новосибирский государственный технический университет, 2020
ОГЛАВЛЕНИЕ Введение ................................................................................................................... 5 Тема 1. Этапы разработки и отладки программ. Работа с Python в интегрированной среде разработки IDLE. Основные элементы языка Python ........................................................................................................... 7 1.1. Процедура разработки и отладки программ ................................................ 7 1.2. Краткие сведения о разработке программ на Python 3 в среде IDLE ........ 9 1.3. Структура программ на языке Python ........................................................ 14 1.4. Пример разработки программы .................................................................. 24 Варианты заданий к теме 1 ................................................................................ 25 Тема 2. Начальные основы работы в Python .................................................. 27 2.1. Ввод и вывод данных ................................................................................... 27 2.2. Вычисления .................................................................................................. 29 2.2.1. Целые числа ............................................................................................. 29 2.2.2. Действительные (вещественные) числа ................................................ 30 2.2.3. Комплексные числа ................................................................................ 34 2.3. Множественное присваивание .................................................................... 36 2.4. Обработка строк ........................................................................................... 36 2.4.1. Методы обработки строк ........................................................................ 39 2.5. Примеры задач и их решение на языке программирования Python ........ 42 Варианты заданий к теме 2 ................................................................................ 44 Тема 3. Управляющие конструкции. Условия ............................................... 51 3.1. Синтаксис условной конструкции .............................................................. 51 3.2. Операторы сравнения .................................................................................. 53 3.3. Логические операторы ................................................................................. 53 3.4. Каскадные условные инструкции ............................................................... 55 3.5. Вложенные конструкции ............................................................................. 56 3.6. Примеры задач и их решение...................................................................... 58 Варианты заданий к теме 3 ................................................................................ 60 Тема 4. Управляющие конструкции в языке Python. Циклы ..................... 73 4.1. Цикл for ......................................................................................................... 73 4.2. Цикл while ..................................................................................................... 77 4.3. Инструкции управления циклом ................................................................ 78
4.4. Примеры задач и их решение...................................................................... 79 Варианты заданий к теме 4 ................................................................................... 83 Тема 5. Списки ..................................................................................................... 91 5.1. Списки (list) .................................................................................................. 91 5.1.1. Способы создания одномерных списков ............................................. 91 5.1.2. Сходство списков со строками ............................................................. 93 5.1.3. Отличие списков от строк ..................................................................... 95 5.2. Методы списков ........................................................................................... 96 5.3. Вложенные, или двумерные, списки (матрицы) ....................................... 99 5.3.1. Вывод вложенных списков ................................................................. 100 5.3.2. Создание вложенных списков ............................................................. 100 5.4. Примеры задач и их решение.................................................................... 102 Варианты заданий к теме 5 .............................................................................. 105 Тема 6. Функции ................................................................................................ 110 6.1. Функции Python.......................................................................................... 110 6.2. Пользовательские функции ....................................................................... 111 6.3. Примеры функций обработки массивов .................................................. 118 Варианты заданий к теме 6 .............................................................................. 121 Тема 7. Структуры данных .............................................................................. 124 7.1. Кортежи ...................................................................................................... 124 7.2. Словари ....................................................................................................... 131 7.3. Множества .................................................................................................. 137 Варианты заданий к теме 7 .............................................................................. 143 Тема 8. Классы ................................................................................................... 148 8.1. Назначение классов ................................................................................... 148 8.2. Конструктор класса ................................................................................... 152 8.3. Производные классы ................................................................................. 153 8.4. Примеры применения классов .................................................................. 155 Варианты заданий к теме 8 .............................................................................. 157 Тема 9. Разработка графических приложений в Python ............................ 161 9.1. Графический интерфейс ............................................................................ 161 9.2. Создание изображений с помощью класса Canvas ................................. 178 Варианты заданий к теме 9 .............................................................................. 191 Библиографический список ................................................................................ 194
ВВЕДЕНИЕ При подготовке по направлению 13.03.02 «Электроэнергетика и электротехника» предполагается изучение информационных технологий – методов поиска, хранения, обработки и анализа информации, в том числе основ программирования на языках высокого уровня. От выпускников требуется умение использовать навыки алгоритмизации и программирования для программного моделирования изучаемых объектов и процессов. Для изучения основ программирования выбран язык Python как один из наиболее популярных и распространенных языков. Pytnon – интерпретируемый язык высокого уровня, поддерживающий концепции структурного, функционального, объектно-ориентированного программирования; позволяет разрабатывать приложения для научных расчетов, базы данных, программы для робототехники, webсайты, игры, мобильные приложения, а также решать задачи шифрования и т. д. Основные достоинства языка Python – открытость кода, простота изучения, скорость разработки и компактность программ, большой набор библиотек, возможность работы с целыми, вещественными и комплексными числами высокой точности, легкость переноса на различные платформы, возможность комбинирования с другими языками. Python разрабатывается с конца 1980-х гг. Автором является Гвидо ван Россум1. Стандарты языка постоянно развиваются. Версия Python 1.0 вышла в январе 1994 г. Наибольший интерес в этой версии представляли возможности функционального программирования. В версии Python 2 1 Центр математики и информатики, Нидерланды. Позже работы над новыми версиями языка были перенесены в США.
(с 16 октября 2000 г.) язык стал полностью объектно-ориентированным, в нем появилась функция сборки мусора2. Версия Python 3.0, вышедшая 3 декабря 2008 г., во многом несовместима с предыдущими версиями; основной целью авторов стало устранение дублирующих функций и упрощение решений отдельных задач программирования. Python вобрал в себя достоинства многих языков программирования, поэтому после его изучения упрощается освоение других языков. Python имеет и недостатки: прежде всего, низкую скорость работы программ по сравнению с другими языками3, проблемы при конвертации текста программ в исполняемый код, отсутствие инструментов для решения некоторых видов задач. Тем не менее достоинств у языка Python больше, чем недостатков, что в сочетании с его востребованностью обусловило выбор этого языка для обучения основам алгоритмизации и программирования. 2 Сборщик мусора автоматически удаляет ненужные (неиспользуемые) объекты для оптимального использования памяти. 3 Для ускорения работы в программы на Python можно включать, например, часть кода на С.
Т е м а 1 ЭТАПЫ РАЗРАБОТКИ И ОТЛАДКИ ПРОГРАММ. РАБОТА С PYTHON В ИНТЕГРИРОВАННОЙ СРЕДЕ РАЗРАБОТКИ IDLE. ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PYTHON 1.1. ПРОЦЕДУРА РАЗРАБОТКИ И ОТЛАДКИ ПРОГРАММ Программа – это записанная по строго определенным правилам последовательность команд на каком-либо языке программирования, предназначенная для решения конкретной задачи. Язык программирования определяет набор правил, используемых при составлении компьютерной программы. Независимо от языка и среды программирования в процедуру разработки и отладки программного продукта входят следующие этапы. 1. Разработка алгоритма программы. Алгоритмом называется описание плана действий, последовательное исполнение которого позволяет решить поставленную задачу. Алгоритм обязательно должен учитывать особенности исполнителя, т. е. в алгоритме не должны содержаться действия, не входящие в систему команд исполнителя. Наиболее точный пример – решение математических задач, которое всегда подчинено четкой системе правил. При несоблюдении этих правил решить задачу нельзя. Алгоритм можно описать различными способами; чаще всего используются псевдокоды и блок-схемы. 2. Запись программы по составленному алгоритму на каком-либо языке программирования. На этом этапе самое важное – правильно подобрать и записать команды. Если для выполнения некоторых действий
не имеется специальных команд, приходится их реализовывать на основе существующих команд (например, рисование многоугольника можно представить как последовательное рисование его сторон в виде отрезков.). 3. Ввод программы в память машины (редактирование). Результатом работы редактора является файл, содержащий программу на языке программирования высокого уровня (исходный код). Имя такого файла должно отражать характер решаемой задачи, а тип – язык, на котором написана программа (например, sortirovka.cpp, test.py). 4. Трансляция – процедура перевода программы с языка программирования высокого уровня на язык процессора (машинных команд) или в объектный модуль. Трансляция (компиляция) выполняется специальными программами-трансляторами компиляторами или интерпретаторами. Результат работы компилятора – файл, содержащий объектный код программы4. Если в процессе перевода транслятор обнаружит в тексте программы пользователя ошибки (неправильная запись команд, отсутствие необходимых данных и т. п.), он сообщит об этом. Тогда приходится редактировать текст программы для устранения обнаруженных ошибок и снова запускать транслятор для уже исправленной программы. Такие действия повторяются до полного устранения ошибок. Интерпретатор не формирует файл, содержащий машинные команды, для всей программы в целом, но выполняет построчный перевод и исполнение программы. Таким образом, для того чтобы увидеть результаты работы отдельной команды, не обязательно рассматривать ее только в составе законченной программы. Именно так работает Python. 6. Запуск задачи. На этом этапе готовая программа загружается в оперативную память и исполняется процессором. Однако результаты работы программы могут оказаться ошибочными, если алгоритм решения задачи был с самого начала составлен неверно, или для его записи были применены не те команды, или неправильно заданы исходные данные. Тогда приходится повторять процедуру разработки и отладки программы с самого начала. Как правило, таких повторений тем больше, чем сложнее задача. 4 Объектный код содержит машинный код и неопределенные адреса ссылок на данные и процедуры в других объектных модулях, а также список своих процедур и данных.
Все этапы ввода и отладки программы объединены в систему программирования (интегрированная среда, integrated development environment, IDE). Это мощный инструмент работы программиста, делающий процесс программирования быстрым и наглядным. Для работы с Python существует достаточно много сред разработки – это, например, PyCharm, Netbeans, Atom, Geany, PyDev; существуют также онлайн-инструменты, такие как ideone.com, onlinegdb.com (среда разработки для разных языков), pythonfiddle.com (среда для разработки проектов на Python). Далее рассматривается программирование на Python 3 в среде IDLE – Integrated DeveLopment Environment (в другой версии – Integrated Development and Learning Environment). Это кроссплатформенный интерактивный интерпретатор со встроенным отладчиком, входящий в дистрибутив Python для Windows и Mac OS. 1.2. КРАТКИЕ СВЕДЕНИЯ О РАЗРАБОТКЕ ПРОГРАММ НА PYTHON 3 В СРЕДЕ IDLE Среда разработки IDLE – это интерактивный интерпретатор, который позволяет осуществлять построчный ввод и исполнение инструкций Python, а также создавать файлы, содержащие тексты программ (скрипты), и передавать их на исполнение интерпретатору. Запуск IDLE5 выполняется командой Пуск/Программы/Pyt- hon 3.5/IDLE (Python 3.5 64-bit), после чего открывается стартовая страница интегрированной среды программирования – в зависимости от настроек, в режиме оболочки или в режиме редактора (рис. 1.1, 1.2). В табл. 1.1 приводится описание большинства функций системы программирования IDLE. Рис. 1.1. Вид стартовой страницы IDLE Python 3.5 (окно оболочки) 5 Команды для запуска среды IDLE и вид окна могут незначительно отличаться в зависимости от версии программы.
Рис. 1.2. Вид окна IDLE Python 3.5 в режиме редактора Т а б л и ц а 1.1 Основные команды IDLE Группа функций меню Пункт меню Описание File (работа с файлами) New File Создать новый проект (веб-сайт, файл) Open Открыть файл (проект, решение, веб-сайт) Open Module Открыть модуль Recent Files Список последних по времени открывавшихся файлов Class Browser Классы и методы модуля Path Browser Текущие каталоги, модули, классы и методы Save Сохранить текущий файл на диске Save As Сохранить текущее окно в новом файле Save Copy As Сохранить текущее окно в новом файле без привязки к нему Print Window Распечатать содержимое текущего окна Close Закрыть текущее окно Exit Выйти из IDLE Edit (функции редактирования) Undo Отменить действие последней команды редактирования текста Redo Восстановить отмененную команду Copy Сохранить выделенный текст в буфере обмена для последующего использования Сut Вырезать и запомнить выделенный текст Paste Вставить сохраненный по Copy (Cut) текст перед курсором Select All Выделить все содержимое окна