Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование на PYTHON в среде IDLE

Покупка
Основная коллекция
Артикул: 778163.01.99
Язык программирования общего назначения Python широко применяется в настоящее время в различных областях. Учебное пособие предназначено для студентов, обучающихся по направлению «Электроэнергетика и электротехника». Может быть полезно студентам для подготовки курсовых и квалификационных работ, а также магистрантам и аспирантам при проведении научных исследований. Практическая часть ориентирована на выполнение наиболее часто встречающихся математических задач.
Шевченко, Л. Г. Программирование на PYTHON в среде IDLE : учебное пособие / Л. Г. Шевченко, Т. В. Дружинина. - Новосибирск : Изд-во НГТУ, 2020. - 195 с. - ISBN 978-5-7782-4215-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1866915 (дата обращения: 20.07.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования Российской Федерации 

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 

 
 
 
 
 
 
 
Л.Г. ШЕВЧЕНКО, Т.В. ДРУЖИНИНА 
 
 
 
 
 
ПРОГРАММИРОВАНИЕ 
НА 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 
Выделить все содержимое окна 

П р о д о л ж е н и е  т а б л .  1.1 

Группа 
функций меню 
Пункт 
меню 
Описание 

 
Find 
Открыть окно поиска 

Find Again 
Повторить предыдущий поиск 

Find Selection 
Найти выделенный текст 

Find in Files 
Открыть окно поиска в файлах 

Replace 
Открыть окно поиска и замены 

Go to Line 
Перейти к строке с указанным номером 

Show Completions 
Список ключевых слов и атрибутов для 
объекта 

Expand Word Расширить (восстановить) слово по начальным буквам; можно повторять команду для 
последовательного просмотра и поиска 
подходящих слов 

Show call tip После открывающей скобки выводится список параметров функции 

Show surrounding 
parens 

Выделение парных скобок 

Shell  
(оболочка) 
View Last 
Restart 
Скроллинг предыдущего запуска оболочки 

Restart Shell 
Перезапуск оболочки 

Debug 
(функции отладки) 

Go to 
File/Line 
Искать в текущей и предыдущей строке 
имя файла и номер строки. Если они есть, 
перейти к указанной строке в файле 

Debugger 
Запуск отладчика 

Stack Viewer Открыть стек сообщений обратной трассировки 

Auto-Open 
Stack Viewer 
Автоматически открывать стек трассировки 
после необрабатываемого исключения6 

                                                      

6 Исключения связаны с обнаружением ошибок в ходе исполнения программы, например деления на 0, попытки выполнить операцию над несуществующей переменной и т. д. 

О к о н ч а н и е  т а б л .  1.1 

Группа 
функций меню 
Пункт 
меню 
Описание 

Options 
(настройка IDLE) 
Configure 
IDLE 
Настройка IDLE (шрифты, подсветка, 
начальное окно и пр.) 

Window 
(управление окнами рабочей 
среды) 

Zoom Height Переключение высоты окна 
Python 3.5.1 
Shell и следующие 
пункты 

Список открытых окон IDLE 

Help 
(вспомогательная 
информация) 

About IDLE 
Сведения о версии IDLE, лицензии и т. п. 

IDLE Help 
Документация по IDLE 

Python Docs 
Документация по Python 

Turtle Demo 
Окно графического модуля Turtle с примерами 

Средства редактирования текста в IDLE в целом такие же, как в любом текстовом редакторе. 
В режиме интерпретатора приглашение к вводу команды выглядит 
так: 

>>> 

После завершения ввода команды появляется результат ее выполнения (в виде строки без символов приглашения), или приглашение к 
вводу следующей команды, или сообщение об ошибке (трассировка, 
traceback, stacktrace), в котором указано, в какой строке обнаружена 
ошибка, а также код и описание ошибки. Пример приведен на рис. 1.3. 
Здесь с помощью операторов присваивания заданы значения переменных a и b, выведена их сумма, затем в режиме калькулятора (без использования переменных) найден остаток от деления 5 на 10 (5%10); 
при попытке найти сумму а + с (значение переменной с не было задано) 
получено сообщение об ошибке (код ошибки NameError означает, что 
выполнено обращение к неопределенной переменной, затем указано, какая именно переменная вызвала ошибку). 
Для упрощения ввода можно в режиме интерпретатора переходить к 
ранее введенным командам, редактировать их и снова выполнять. Переход между командами выполнятся по Alt + Р (вверх) или Alt + N (вниз). 
Можно также установить курсор в конце любой из ранее введенных