194 Глава 4. Структуры с повторением
11 print('Число\tКвадрат числа')
12 print('---------------------')
13
14 # Напечатать числа и их квадраты.
15 for number in range(1, end + 1):
16 square = number**2
17 print(number, '\t', square)
Вывод программы (вводимые данные выделены жирным шрифтом)
Эта программа выводит список чисел
(начиная с 1) и их квадраты.
Насколько далеко мне заходить? 5 Enter
Число Квадрат числа
---------------------
11
24
39
4 16
5 25
Эта программа просит пользователя ввести значение, которое используется в качестве
конечного предела списка. Это значение присваивается переменной end в строке 7. Затем
выражение end + 1 используется в строке 15 в качестве второго аргумента функции range.
(Мы должны прибавить единицу к переменной end, потому что иначе последовательность
приблизится к введенному пользователем значению, но его не включит.)
В программе 4.11 приведен пример, который разрешает пользователю определять начальное
значение и конечный предел последовательности.
Программа 4.11 (user_squares2.py)
1 # Эта программа использует цикл для вывода
2 # таблицы чисел и их квадратов.
3
4 # Получить начальное значение.
5 print('Эта программа выводит список чисел')
6 print('и их квадратов.')
7 start = int(input('Введите начальное число: '))
8
9 # Получить конечный предел.
10 end = int(input('Насколько далеко мне заходить? '))
11
12 # Напечатать заголовки таблицы.
13 print()
14 print('Число\tКвадрат числа')
15 print('---------------------')
16
Глава 4. Структуры с повторением 195
17 # Напечатать числа и их квадраты.
18 for number in range(start, end + 1):
19 square = number**2
20 print(number, '\t', square)
Вывод программы (вводимые данные выделены жирным шрифтом)
Эта программа выводит список чисел
и их квадратов.
Введите начальное число: 5 Enter
Насколько далеко мне заходить? 10 Enter
Число Квадрат числа
---------------------
5 25
6 36
7 49
8 64
9 81
10 100
Порождение итерируемой последовательности
в диапазоне от максимального до минимального значений
В примерах, которые вы видели до сих пор, функция range применялась для создания
последовательности с числами, которые проходят от минимального до максимального
значения. Как альтернативный вариант, функцию range можно применить для создания
последовательностей чисел, которые проходят в обратном порядке от максимального до
минимального значения. Вот пример:
range(10, 0, −1)
В этом вызове функции начальное значение равняется 10, конечный предел последователь-
ности равняется 0, а величина шага равняется –1. Это выражение создаст приведенную ниже
последовательность:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Вот пример для цикла, который распечатывает числа от 5 до 1:
for num in range(5, 0, −1):
print(num)
Контрольная точка
4.8. Перепишите приведенный ниже фрагмент кода, чтобы вместо использования списка
он вызывал функцию range:
[0, 1, 2, 3, 4, 5]:
for x in [0, 1, 2, 3, 4, 5]:
print('Обожаю эту программу!')
196 Глава 4. Структуры с повторением
4.9. Что покажет приведенный ниже фрагмент кода?
for number in range(6):
print(number)
4.10. Что покажет приведенный ниже фрагмент кода?
for number in range(2, 6):
print(number)
4.11. Что покажет приведенный ниже фрагмент кода?
for number in range(0, 501, 100):
print(number)
4.12. Что покажет приведенный ниже фрагмент кода?
for number in range(10, 5, −1):
print(number)
4.4 Вычисление нарастающего итога
КЛЮЧЕВЫЕ ПОЛОЖЕНИЯ
Нарастающий итог — это сумма чисел, которая накапливается с каждой итерацией цикла.
Переменная, которая используется для хранения нарастающего итога, называется нако-
пителем.
Многие задачи программирования требуют вычисления суммы числового ряда. Предполо-
жим, что вы пишете программу, которая вычисляет общий объем продаж предприятия за
неделю. На входе программа считывает продажи за каждый день и вычисляет сумму этих
чисел.
Программы, которые вычисляют сумму числового ряда, обычно используют два элемента:
цикл, читающий каждое число в ряду;
переменную, накапливающую сумму чисел по мере их чтения.
Переменная, которая используется для накапливания суммы чисел, называется накопите-
лем, или аккумулятором. Часто говорят, что цикл содержит нарастающий итог, потому что
он накапливает сумму по мере чтения каждого числа в ряду. На рис. 4.6 показана стандарт-
ная логическая схема цикла, который вычисляет нарастающий итог.
Когда цикл заканчивается, накопитель будет содержать сумму чисел, которые были считаны
циклом. Обратите внимание, что первый шаг в блок-схеме состоит в присвоении накапли-
вающей переменной значения 0. Это крайне важный шаг. Всякий раз, когда цикл читает
число, он прибавляет его к накопителю. Если накопитель начинается с любого значения
кроме 0, то он будет содержать неправильную сумму чисел, когда цикл завершится.
Рассмотрим пример, в котором вычисляется нарастающий итог. Программа 4.12 позволяет
пользователю ввести пять чисел и выводит сумму введенных чисел.
Программа 4.12 (sum_numbers.py)
1 # Эта программа вычисляет сумму серии
2 # чисел, вводимых пользователем.
3
Глава 4. Структуры с повторением 197
4 MAX = 5 # Максимальное число.
5
6 # Инициализировать накапливающую переменную.
7 total = 0.0
8
9 # Объяснить, что мы делаем.
10 print('Эта программа вычисляет сумму из')
11 print(MAX, 'чисел, которые вы введете.')
12
13 # Получить числа и накопить их.
14 for counter in range(MAX):
15 number = int(input('Введите число: '))
16 total = total + number
17
18 # Показать сумму чисел.
19 print('Сумма составляет', total)
Вывод программы (вводимые данные выделены жирным шрифтом)
Эта программа вычисляет сумму
из 5 чисел, которые вы введете.
Введите число: 1 Enter
Введите число: 2 Enter
Введите число: 3 Enter
Введите число: 4 Enter
Введите число: 5 Enter
Сумма составляет 15.0
РИС. 4.6. Логическая схема вычисления нарастающего итога
Переменная total, создаваемая инструкцией присваивания в строке 7, является накопите-
лем. Обратите внимание, что она инициализирована значением 0.0. Цикл for в строках 14–
16 занимается получением чисел от пользователя и вычислением их суммы. Строка 15 пред-
лагает пользователю ввести число и затем присваивает его переменной number. Следующая
далее инструкция в строке 16 прибавляет это число к total:
total = total + number
198 Глава 4. Структуры с повторением
После того как эта инструкция исполнится, значение, на которое ссылается переменная
number, будет прибавлено к значению переменной total. Очень важно разобраться в том,
как эта инструкция работает. Сначала интерпретатор получает значение выражения на пра-
вой стороне от оператора =, т. е. total + number. Затем оператором = это значение при-
сваивается переменной total. В результате исполнения этой инструкции значение перемен-
ной number прибавляется к переменной total. Когда цикл завершается, переменная total
будет содержать сумму всех чисел, которые были к ней прибавлены. Это значение показано
в строке 19.
Расширенные операторы присваивания
Довольно часто программы имеют инструкции присваивания, в которых переменная на
левой стороне от оператора = также появляется на правой от него стороне. Вот пример:
x=x+1
На правой стороне оператора присваивания 1 прибавляется к переменной x. Полученный
результат затем присваивается переменной x, заменяя значение, на которое ранее ссылалась
переменная x. В сущности, эта инструкция добавляет 1 к x. Еще один пример такого типа
инструкций вы видели в программе 4.13:
total = total + number
Эта инструкция присваивает значение выражения total + number переменной total. Как
упоминалось ранее, в результате исполнения этой инструкции number прибавляется к значе-
нию total. Вот еще один пример:
balance = balance — withdrawal
Эта инструкция присваивает значение выражения balance - withdrawal переменной
balance. В результате исполнения этой инструкции withdrawal (снято со счета) вычтено из
balance (остаток).
В табл. 4.2 представлены другие примеры инструкций, написанных таким образом.
Таблица 4.2. Различные инструкции присваивания (в каждой инструкции x = 6)
Инструкция Что она делает Значение x после инструкции
x=x+4 Прибавляет 4 к x 10
x=x-3 Вычитает 3 из x 3
x = x * 10 Умножает x на 10 60
x=x/2 Делит x на 2 3
x=x%4 Присваивает x остаток от x/4 2
Эти типы операций находят широкое применение в программировании. Для удобства Python
предлагает особую группу операторов, специально предназначенных для таких задач.
В табл. 4.3 перечислены расширенные операторы присваивания.
Как видите, расширенные операторы присваивания не требуют, чтобы программист дважды
набирал имя переменной. Приведенную ниже инструкцию:
total = total + number
Глава 4. Структуры с повторением 199
можно переписать как
total += number
Точно так же инструкцию
balance = balance − withdrawal
можно переписать как
balance −= withdrawal
Таблица 4.3. Расширенные операторы присваивания
Оператор Пример использования Эквивалент
+= x += 5 x=x+5
-= y -= 2 y=y-2
*= z *= 10 z = z * 10
/= a /= b a=a/b
%= c %= 3 c=c%3
Контрольная точка
4.13. Что такое накопитель (аккумуляторная переменная)?
4.14. Следует ли инициализировать накопитель конкретным значением? Почему или почему
нет?
4.15. Что покажет приведенный ниже фрагмент кода?
total = 0
for count in range(1, 6):
total = total + count
print(total)
4.16. Что покажет приведенный ниже фрагмент кода?
number 1 = 10
number 2 = 5
number 1 = number 1 + number 2
print(number1)
print(number2)
4.17. Перепишите приведенные ниже инструкции с использованием расширенных операто-
ров присваивания:
а) quantity = quantity + 1;
б) days_left = days_left - 5;
в) price = price * 10;
г) price = price / 2.
1 Установка языка PythonПРИЛОЖЕНИЕ
Скачивание языка Python
Для того чтобы выполнить приведенные в этой книге программы, вам потребуется устано-
вить Python 3.0 или более позднюю версию. Вы можете скачать последнюю версию Python
по адресу www.python.org/downloads. В этом приложении рассматривается процесс уста-
новки Python в операционной системе Windows. Python также доступен для Mac OS X, Linux
и некоторых других платформ. Ссылки на скачивание версий Python, предназначенных
для этих операционных систем, приводятся на сайте для скачивания Python по адресу
www.python.org/downloads.
СОВЕТ
Следует иметь в виду, что существует два семейства языка Python, которые вы можете скачать:
Python 3.x и Python 2.x. Программы в этой книге работают только с семейством Python 3.x.
Установка Python 3.x в Windows
Когда вы посетите сайт для скачивания Python по адресу www.python.org/downloads, вам
необходимо скачать последнюю из имеющихся версий Python 3.x. На рис. П1.1 показано, как
выглядела веб-страница сайта, с которой можно скачать Python, в момент написания этого
приложения. Как видно из рисунка, последней версией в это время был Python 3.6.4.
После того как вы скачали установщик Python, следует его запустить. На рис. П1.2 пред-
ставлен установщик Python 3.6.4. Настоятельно рекомендуем поставить флажки напротив
обеих опций внизу экрана: Install launcher for all users (Установить средство запуска для
всех пользователей) и Add Python 3.x to PATH (Добавить Python 3.x в системный путь).
Сделав это, щелкните по ссылке Install Now (Установить сейчас).
Появится сообщение "Do you want to allow this app to make changes to your device?" (Хотите
разрешить этому приложению внести изменения в ваше устройство?) Нажмите кнопку Да,
чтобы продолжить установку. Когда процесс установки завершится, вы увидите сообщение
"Installation was successful." (Установка завершилась успешно). Нажмите на кнопке закрытия
окна для выхода из установщика.
700 Приложение 1. Установка языка Python
РИС. П1.1. Скачайте последнюю версию языка Python
РИС. П1.2. Установщик Python
2 Введение в среду IDLEПРИЛОЖЕНИЕ
Видеозапись "Введение в среду IDLE" (Introduction to IDLE)
IDLE (Integrated Development Environment) — это интегрированная среда разработки, кото-
рая сочетает в одной программе несколько инструментов разработки, в том числе:
оболочку Python, работающую в интерактивном режиме. Можно набирать инструкции
Python напротив подсказки оболочки и сразу же их исполнять. Кроме того, можно вы-
полнять законченные программы Python;
текстовый редактор, который выделяет цветом ключевые слова Python и другие части
программ;
модуль проверки, который проверяет программу Python на наличие синтаксических оши-
бок без выполнения программы;
средства поиска, которые позволяют находить текст в одном или нескольких файлах;
инструменты форматирования текста, которые помогают поддержать в программе Python
единообразные уровни отступов;
отладчик, который позволяет выполнять программу Python в пошаговом режиме и сле-
дить за изменением значений переменных по ходу исполнения каждой инструкции;
несколько других продвинутых инструментов для разработчиков.
Среда IDLE поставляется в комплекте с Python. Во время установки интерпретатора Python
среда IDLE устанавливается автоматически. В этом приложении предоставлены краткое
введение в среду IDLE и описание основных шагов создания, сохранения и выполнения про-
граммы Python.
Запуск среды IDLE и использование оболочки Python
После того как Python был установлен в вашей операционной системе, в списке программ
меню Пуск операционной системы появится группа программ Python. Один из элементов
в группе программ будет озаглавлен IDLE (Python 3.х 64(32)-bit). Для запуска IDLE щелк-
ните по этому элементу, и вы увидите окно оболочки Python 3.x Shell (рис. П2.1). Внутри
этого окна интерпретатор Python выполняется в интерактивном режиме. Вверху окна распо-
ложена строка меню, которая предоставляет доступ ко всем инструментам IDLE.
Подсказка >>> говорит о том, что интерпретатор ожидает от вас ввода инструкции Python.
Когда вы набираете инструкцию напротив подсказки >>> и нажимаете клавишу <Enter>, эта
инструкция немедленно исполняется. Например, на рис. П2.2 показано окно оболочки
Python после того, как были введены и исполнены три инструкции.
Когда вы набираете начало многострочной инструкции, в частности инструкцию if или
цикл, каждая последующая строка автоматически располагается с отступом. Нажатие
702 Приложение 2. Введение в среду IDLE
РИС. П2.1. Окно оболочки IDLE
РИС. П2.2. Инструкции, исполненные интерпретатором Python
РИС. П2.3. Многострочная инструкция, исполненная интерпретатором Python
Приложение 2. Введение в среду IDLE 703
клавиши <Enter> на пустой строке обозначает конец многострочной инструкции и приводит
к ее исполнению интерпретатором. На рис. П2.3 представлено окно оболочки Python после
того, как цикл for был введен и исполнен.
Написание программы Python в редакторе IDLE
Для того чтобы написать новую программу Python в среде IDLE, следует открыть новое ок-
но редактирования. Для этого в меню File (Файл) нужно выбрать команду New File (Новый
файл) — рис. П2.4. (Как вариант, можно нажать комбинацию клавиш <Ctrl>+<N>.) Будет
открыто окно редактирования текста (рис. П2.5).
РИС. П2.4. Меню File
РИС. П2.5. Окно текстового редактора
704 Приложение 2. Введение в среду IDLE
Для того чтобы открыть уже существующую программу, в меню File (Файл) выберите
команду Open (Открыть). Перейдите в место расположения файла, выберите этот файл, и он
будет открыт в окне редактора.
Цветная разметка
Программный код, вводимый в окне редактора, а также в окне оболочки Python, выделяется
цветом следующим образом:
ключевые слова Python выводятся в оранжевом цвете;
комментарии — в красном цвете;
строковые литералы — в зеленом цвете;
определенные в программе имена, такие как имена функций и классов, — в синем цвете;
встроенные функции — в фиолетовом цвете.
СОВЕТ
Вы можете изменить настройки выделения цветом в среде IDLE, выбрав в меню Options (Пара-
метры) команду Configure IDLE (Сконфигурировать среду IDLE). В появившемся диалоговом
окне перейдите на вкладку Highlights (Выделение цветом) и задайте цвета для каждого элемента
программы Python.
Автоматическое выделение отступом
Редактор IDLE имеет функциональные возможности, которые помогают поддерживать
в своих программах Python единообразное выделение отступами. Пожалуй, самой полезной
из этих функциональных возможностей является автоматическое выделение отступом. Когда
вы набираете строку, которая заканчивается двоеточием, в частности выражение if, первую
строку цикла или заголовок функции и затем нажимаете клавишу <Enter>, редактор автома-
тически выделяет отступом строки, которые вы набираете потом. Например, предположим,
что вы набираете фрагмент кода (рис. П2.6). После того как вы нажмете клавишу <Enter>
РИС. П2.6. Строки, которые вызывают автоматическое добавление отступов
Приложение 2. Введение в среду IDLE 705
в конце строки, помеченной , редактор автоматически расположит с отступом строки, ко-
торые вы будете набирать потом. Далее, после того как вы нажмете клавишу <Enter> в конце
строки, помеченной , редактор снова добавит отступ. Нажатие клавиши <Backspace>
в начале выделенной отступом строки отменяет один уровень выделения отступом.
По умолчанию в среде IDLE для каждого уровня выделения отступом в качестве отступа
используются четыре пробела. Количество пробелов можно изменить, выбрав в меню
Options команду Configure IDLE. Перейдите на вкладку Fonts/Tabs (Шрифты/Отступы)
появившегося диалогового окна, и вы увидите панель ползунка, который позволяет изме-
нить количество пробелов, используемых в качестве ширины отступа. Однако поскольку
в Python четыре пробела являются стандартной шириной отступа, рекомендуется все же
оставить текущую настройку.
Сохранение программы
В окне редактора можно сохранить текущую программу путем выбора соответствующей
команды из меню File:
Save (Сохранить);
Save As (Сохранить как);
Save Copy As (Сохранить копию как).
Команды Save и Save As работают так же, как и в любом приложении Windows. Команда
Save Copy As работает как Save As, но оставляет исходную программу в окне редактора.
Выполнение программы
После того как программа набрана в редакторе, ее можно выполнить, нажав клавишу <F5>
или выбрав в меню Run (Выполнить) команду Run Module (Выполнить модуль) —
рис. П2.7. Если после последнего внесения изменения в исходный код программа не была
сохранена, появится диалоговое окно (рис. П2.8). Нажмите кнопку OK, чтобы сохранить
программу. Во время выполнения программы вы увидите, что ее результаты будут выведе-
ны в окно оболочки Python IDLE (рис. П2.9).
РИС. П2.7. Меню Run окна редактора РИС. П2.8. Диалоговое окно
подтверждения сохранения
706 Приложение 2. Введение в среду IDLE
РИС. П2.9. Результаты в окне оболочки Python
При выполнении программы, содержащей синтаксическую ошибку, вы увидите диалоговое
окно (рис. П2.10). После нажатия на кнопке OK редактор выделит цветом местоположение
ошибки в программном коде. Если вы захотите проверить синтаксис программы, не пытаясь
ее выполнить, то в меню Run (Выполнить) выберите команду Check Module (Проверить
модуль). В результате при обнаружении любой синтаксической ошибки будет выведено
соответствующее сообщение.
РИС. П2.10. Диалоговое окно с сообщением о синтаксической ошибке
Другие ресурсы
В этом приложении был предоставлен лишь краткий обзор применения среды IDLE для
создания, хранения и выполнения программ. Среда IDLE предлагает множество других рас-
ширенных функциональных возможностей. Для того чтобы узнать о них, обратитесь к офи-
циальной документации IDLE по адресу www.python.org/idle.
Предметный указатель
# E
#, символ 51 ENIAC, компьютер 16
> F
>>>, подсказка 33 FORTRAN 28
A J
Ada 28 Java 29
ASCII 22 JavaScript 29
B P
BASIC 28 Pascal 29
pip 719
C Python 29
C# 29 R
C 29
C++ 29 Ruby 29
CD-приводы 18
COBOL, язык программирования 28 U
D Unified Modeling Language (UML) 556
DVD-приводы 18 V
Visual Basic 29
740 Предметный указатель
А ◊ входные 48
◊ дозапись в файл 315
Аккумулятор 196 ◊ запись в файл 308
Алгоритм 45 ◊ сокрытие 514
Аппаратное обеспечение 14 ◊ цифровые 23
Аргумент 49, 241 ◊ числовые чтение и запись в файл 316
◊ именованный 249 ◊ чтение из файла 304, 310
◊ передача Диаграмма:
◊ круговая 415
по значению 248
по позиции 245 заголовок 416
Ассемблер 27 метка 416
Атрибут: цвет 417
◊ данных 514 ◊ столбчатая 410
приватный 515, 523 заголовок 413
скрытый 514 метки осей 413
◊ экземпляра 534 настройка ширины столбика 412
цвет 413
Б Диск:
◊ USB 18
Байт 20 ◊ жесткий 17
Библиотека функций 255
Бит 20 З
Блок 229
◊ инструкций 127 Замыкание 689
Блок-схема 46 Запись 327
Буфер 308 ◊ добавление в файл 331
◊ изменение 334
В ◊ поиск в файле 333
Валидация ValueError 342–344, 347 И
Ввод 18
Выборка 24 Индекс 430
Вывод 18 ◊ в строковом значении 430
Выражение: ◊ отрицательный 430
◊ finally 352 Индексация 364, 399, 430
◊ булево 127 Инкапсуляция 514
Инструкция:
составное 149 ◊ del 379
◊ математическое 66 ◊ if 126
◊ смешанное 77 ◊ if-elif-else 147
Вычисления ленивые 683 ◊ if-else 134
Г вложенная 152
◊ import 263
График 402 ◊ return 265
◊ заголовок 404 ◊ try/except 350
◊ маркировка точек 408
◊ настройка координат 405 исполнение 343
Графика черепашья 88, 157, 214, 284 Интегрированная среда разработки (IDLE):
◊ окно оболочки Python 703
Д Интерпретатор 31
Интерфейс пользователя 619
Данные: ◊ графический 620
◊ атрибут 514 Исключение 65, 340
◊ EOFError 497
приватный 515, 523 ◊ IndexError 364, 431
скрытый 514
Предметный указатель 741
◊ IOError 345–347, 352 ◊ add() 484
◊ KeyError 461, 463, 486 ◊ append 374
◊ ValueError 343, 347, 349, 352, 378 ◊ clear() 467
◊ ZeroDivisionError 352 ◊ close() 496
◊ необработанное 352 ◊ create_arc() 659
Итерация 181 ◊ create_line() 653
◊ create_oval() 657
К ◊ create_polygon() 664
◊ create_rectangle() 655
Карринг 689 ◊ create_text() 666
Карта памяти 18 ◊ dict() 466
Класс 516 ◊ difference() 489
◊ базовый 576 ◊ discard() 486
◊ идентификация 557 ◊ endswith() 444
◊ find() 444
обязанностей 562 ◊ get() 468, 551, 634, 636
◊ определение 518 ◊ index() 376
◊ производный 576 ◊ insert() 377
◊ экземпляр 516 ◊ intersection() 488
Ключ 459 ◊ isalnum() 440
◊ тип данных 460 ◊ isalpha() 440
Кнопка флаговая 648 ◊ isdigit() 440
Код: ◊ islower() 440
◊ исходный 31 ◊ isspace() 441
◊ повторное использование 227 ◊ issubset() 491
Комментарий 51 ◊ issuperset() 491
◊ концевой 52 ◊ isupper(), 441
Компилятор 30 ◊ items() 468
Конвейер обработки данных 692 ◊ keys() 469
Конец файла 321 ◊ lower() 442, 443
Конкатенация 432 ◊ lstrip() 442
◊ списков 367 ◊ pack() 625
Консервация 496 ◊ pop() 470
Константа: ◊ popitem() 471
◊ глобальная 252 ◊ read() 310
◊ именованная 87 ◊ readline() 321, 323
Кортеж 399 ◊ readlines() 393
◊ индексация 399 ◊ remove() 378
◊ преобразование в список 400 ◊ remove() 485
◊ replace() 444
Л ◊ reverse() 379
◊ rstrip() 314
Литерал: ◊ rstrip() 442
◊ неформатированный 307 ◊ set() 640
◊ числовой 59 ◊ sort() 378
Ловушка ошибок 204 ◊ split() 449
Лямбда-функциями 682 ◊ startswith 444
◊ strip() 442
М ◊ symmetric_difference() 490
◊ union() 488
Массив 363 ◊ update() 485
Метка сигнальная 200 ◊ upper() 442, 443
Метод 308, 514 ◊ values() 472
◊ __init__() 520, 578, 582
◊ __str__() 531
742 Предметный указатель
Метод (прод.) ◊ / 69
◊ write 308 ◊ // 69
◊ writelines 391 ◊ ^ 490
◊ геттер 539 ◊ | 488
◊ инициализации 520 ◊ += 432
◊ переопределение 589 ◊ <= 129, 491
◊ получатель 539 ◊ == 129
◊ приватный 515 ◊ >= 129, 491
◊ публичный 515 ◊ and 150
◊ сеттер 539 ◊ in 372
Микропроцессор 16 ◊ not 151
Мнемоника 27 ◊ or 150
Множества, разность 489 ◊ возведения в степень 73
Множество 483 ◊ логический 149
◊ добавление элемента 484 ◊ математический 66
◊ количество элементов 484 ◊ остаток от деления 73
◊ объединение 488 ◊ повторения 363
◊ перебор элементов 486 ◊ приоритет 70
◊ пересечение 488 ◊ присваивания 53
◊ проверка существования значения 487 ◊ сравнения 127
◊ разность симметрическая 490 Операционная система 19
◊ создание 483 Отношение "род — вид" 575
◊ удаление элемента 485 Отображение 459
Модуль 255, 280, 715 Ошибка:
◊ math 277 ◊ логическая 44
◊ pickle 496, 543 ◊ синтаксическая 31
◊ pyplot 402
◊ random 256, 263 П
◊ tkinter 621
◊ сторонний 719 Пакет matplotlib 401
Модуляризация 280 Память оперативная 17
Мусор 202 Пара ключ/значение 459
◊ как отображения ключа на значение 459
Н Параметр 242
Переключатель 644
Надкласс 576 Переменная 52
Надмножество 490 ◊ глобальная 251
Наибольший общий делитель 610 ◊ локальная 239
Накопитель 196 ◊ область действия 240
Наследование 576 ◊ параметрическая 242
◊ правила именования 55
О ◊ целевая 186
Пиксел 23
Обработчик: Подкласс 576
◊ исключений 342 Подмножество 490
◊ ошибок 204 Подстрока 434
Объект 514 ◊ поиск 443
◊ файловый 306 Позиция считывания 312
◊ хранение в словаре 546 Поле 327
Объект-исключение 349 Полиморфизм 589
Операнд 66 Пользователь конечный 66
Оператор: Последовательность 361
◊ != 130 ◊ мутирующая 365
◊ & 489 ◊ Фибоначчи 609
◊ * 448
Предметный указатель 743
Предметная область задачи 557 С
Представление словарное 468
Присваивание 53 Сахар синтаксический 688
◊ кратное 471 Сериализация 496
◊ однократное 691 Символ:
Проверка входных данных 203 ◊ новой строки 79
Программа 13 ◊ пробельный 441
◊ модуляризованная 226 ◊ продолжения строки 78
◊ обслуживающая 19 ◊ разделитель значений 80
◊ разработки 19 ◊ экранированный 80
Программирование: Синтаксис 30
◊ объектно-ориентированное 513, 514 Система
◊ процедурное 513 ◊ исчисления двоичная 21
Программист 13 ◊ координат экранная 651
Программное обеспечение 13 Словарь 459
◊ прикладное 19 ◊ добавление значения 462
◊ системное 18 ◊ количество элементов 464
◊ технические требования 45 ◊ перебор ключей 466
Проектирование программы, разбиение ◊ получение:
задачи 45 значения 460, 470, 472
Процедура 513 ключа 468, 469
Псевдоним 716 пары ключ/значение 471
элемента 468
Р ◊ проверка ключа 461
◊ смешанные типы данных 464
Радиокнопка 644 ◊ создание 460
Разработка нисходящая 235 пустого 466
Разряд 20 ◊ удаление:
Расконсервация 497 значения 463
Расходы накладные 604 элементов 467
Расширение файла 306 Слово ключевое 29
Режим интерактивный 49 Состояние объекта 531
Рекурсия: Спецификатор формата 82
◊ глубина 603 Список 186, 361
◊ косвенная 607 ◊ вложенный 395
◊ накладные расходы 604 ◊ возвращение ссылки из функции 386
◊ наибольший общий делитель 610 ◊ вставка значения 377
◊ последовательность Фибоначчи 608 ◊ вывод на экран 362
◊ прямая 607 ◊ двумерный 395
◊ случай: ◊ добавление значения 374
◊ значение:
базовый 604 максимальное 380
рекурсивный 604 минимальное 380
◊ суммирование списка 607 ◊ инвертирование порядка элементов 379
◊ факториал 604 ◊ конкатенация 367
Рисование: ◊ копирование 382
◊ дуги 659 ◊ обход в цикле for 364
◊ многоугольника 664 ◊ параметров 245
◊ овала (эллипса) 657 ◊ передача в функцию 386
◊ прямой 653 ◊ поиск:
◊ прямоугольника 655 значения 372
◊ текста 666 позиции элемента 376
◊ преобразование в кортеж 400
◊ разные типы данных 362
744 Предметный указатель
Список (прод.) Ф
◊ сортировка 378
◊ сохранение в файл 391 Файл:
◊ строковых значений 362 ◊ cookie 303
◊ сумма значений 384 ◊ ввода 304
◊ суммирование элементов 607 ◊ вывода 304
◊ удаление элемента 378 ◊ двоичный 305
◊ закрытие 496
по позиции 379 ◊ открытие 306, 497
◊ усреднение значений 385 ◊ с последовательным доступом 305
◊ целых чисел 362 ◊ с произвольным доступом 305
◊ чтение из файла 393 ◊ с прямым доступом 305
Сравнение строковых выражений 138 ◊ текстовый 305
Среднее арифметическое 71 Факториал 604
Срез 369 Флаг 156
◊ строки 434 Флажок 648
Стиль горбатый 56 Флеш-накопитель 18
Строка: Форматирование чисел 82
◊ длина 431 ◊ вещественных 86
◊ конкатенация 432 ◊ целых 86
◊ разбиение 449 Функция 48, 225
◊ символы: ◊ bar 410, 413
◊ dump 543
в верхнем регистре 443 ◊ enumerate 687
в нижнем регистре 443 ◊ filter 684
◊ сравнение нерегистрочувствительное 443 ◊ float 64
◊ срез 434 ◊ format 82
Структура: ◊ int 64
◊ принятия решения: ◊ isinstance 594
с двумя альтернативными вариантами 133 ◊ len 365, 431, 464, 484
с единственным вариантом 126 ◊ list 362, 400
◊ управляющая 125 ◊ map 683
Схема: ◊ max 380
◊ вычислений укороченная 151 ◊ min 380
◊ иерархическая 235 ◊ open 306, 497
◊ структурная 235 ◊ pie 415
◊ plot 402
Т ◊ print 28, 57
◊ randint 257
Таблица "ввод-обработка-вывод" 270 ◊ random 263
Тип данных 59 ◊ random.seed 264
◊ строковый 60 ◊ randrange 263
Трассировка обратная 340 ◊ range 188
◊ reduce 685
У ◊ str 316
◊ title 404
Устройство: ◊ tuple 400
◊ ввода 18 ◊ turtle.heading 157
◊ вывода 18 ◊ turtle.isdown 157
◊ хранения, вторичное 17 ◊ turtle.isvisible 158
◊ цифровое 23 ◊ turtle.pencolor 158
Утилита 19 ◊ turtle.pensize 159
◊ turtle.speed 159
Предметный указатель 745
◊ turtle.xcor 157 Ш
◊ turtle.ycor 157
◊ uniform 263 Шаг, величина 189
◊ xlim 405 Шрифт 669
◊ ylim 405
◊ zip 686 Э
◊ без возврата значения 227
◊ библиотечная 255 Экземпляр класса 516
◊ булева 274 Элемент интерфейса:
◊ вложенная 64 ◊ Button 622, 630
◊ вызов 229 ◊ Canvas 622, 651
◊ каррированная 690 ◊ Checkbutton 622, 648
◊ обратного вызова 630 ◊ Entry 622, 634
◊ рекурсивная 601 ◊ Frame 622, 628
◊ Label 622, 624
остановка 602 ◊ Listbox 622
◊ с возвратом значения 255 ◊ Menu 622
◊ Menubutton 622
Х ◊ Message 622
◊ Radiobutton 622, 644
Ханойские башни 611 ◊ Scale 622
◊ Scrollbar 622
Ц ◊ Text 622
◊ Toplevel 622
Центральный процессор 15 Элемент списка 361
Цикл:
◊ for: Ю
обход списка 364 Юникод 23
обход строкового значения 428 ◊ латинское подмножество 707
чтение данных из файла 323
◊ while 178 Я
◊ бесконечный 184
◊ вложенный 207 Язык:
◊ разработки программы 43 ◊ высокоуровневый 28
◊ с условием 178 ◊ машинный 25
◊ со счетчиком 178
Цифра двоичная 20
Ч
Черный ящик 256
Число:
◊ волшебное 87
◊ псевдослучайное 264
◊ случайное 256
Чтение первичное 203, 321